# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1039367492 0 # Node ID b5a92b04b298f1d195ab3c7544da7a1d794ea102 # Parent b8caec82a4d2177947ab41b0f5bc3c6ce3829a44 Minor change to handling of right clicks in the container control on OS/2. diff -r b8caec82a4d2 -r b5a92b04b298 os2/dw.c --- a/os2/dw.c Fri Dec 06 23:34:49 2002 +0000 +++ b/os2/dw.c Sun Dec 08 17:11:32 2002 +0000 @@ -42,8 +42,8 @@ DWTID _dwtid = 0; LONG _foreground = 0xAAAAAA, _background = 0; -HWND hwndBubble = NULLHANDLE, hwndBubbleLast = NULLHANDLE; -PRECORDCORE pCore = NULL; +HWND hwndBubble = NULLHANDLE, hwndBubbleLast = NULLHANDLE, hwndEmph = NULLHANDLE; +PRECORDCORE pCore = NULL, pCoreEmph = NULL; ULONG aulBuffer[4]; HWND lasthcnr = 0, lastitem = 0, popup = 0; @@ -2074,16 +2074,27 @@ if(tmp->window == conthwnd) { + int container = (int)dw_window_get_data(tmp->window, "_dw_container"); + if(mp2) { - NOTIFYRECORDEMPHASIS pre; - - dw_tree_item_select(tmp->window, (HWND)mp2); - pre.pRecord = mp2; - pre.fEmphasisMask = CRA_CURSORED; - pre.hwndCnr = tmp->window; - _run_event(hWnd, WM_CONTROL, MPFROM2SHORT(0, CN_EMPHASIS), (MPARAM)&pre); - pre.pRecord->flRecordAttr |= CRA_CURSORED; + if(!container) + { + NOTIFYRECORDEMPHASIS pre; + + dw_tree_item_select(tmp->window, (HWND)mp2); + pre.pRecord = mp2; + pre.fEmphasisMask = CRA_CURSORED; + pre.hwndCnr = tmp->window; + _run_event(hWnd, WM_CONTROL, MPFROM2SHORT(0, CN_EMPHASIS), (MPARAM)&pre); + pre.pRecord->flRecordAttr |= CRA_CURSORED; + } + else + { + hwndEmph = tmp->window; + pCoreEmph = mp2; + WinSendMsg(tmp->window, CM_SETRECORDEMPHASIS, mp2, MPFROM2SHORT(TRUE, CRA_SOURCE)); + } } result = containercontextfunc(tmp->window, text, x, y, tmp->data, user); tmp = NULL; @@ -2408,6 +2419,12 @@ /* Free memory before destroying */ _free_window_memory(hWnd); break; + case WM_MENUEND: + if(hwndEmph && pCoreEmph) + WinSendMsg(hwndEmph, CM_SETRECORDEMPHASIS, pCoreEmph, MPFROM2SHORT(FALSE, CRA_SOURCE)); + hwndEmph = NULLHANDLE; + pCoreEmph = NULL; + break; } if(result != -1)