Mercurial > dwindows
comparison os2/dw.c @ 314:41b890c649e7
Fixed a container emphasis problem when no context menus are created.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 31 Mar 2003 21:32:55 +0000 |
parents | 24c1dfffe97e |
children | 89eac0990c67 |
comparison
equal
deleted
inserted
replaced
313:a3dee031d27e | 314:41b890c649e7 |
---|---|
1836 return pos; | 1836 return pos; |
1837 } | 1837 } |
1838 return -1; | 1838 return -1; |
1839 } | 1839 } |
1840 | 1840 |
1841 void _clear_emphasis(void) | |
1842 { | |
1843 if(hwndEmph && pCoreEmph) | |
1844 WinSendMsg(hwndEmph, CM_SETRECORDEMPHASIS, pCoreEmph, MPFROM2SHORT(FALSE, CRA_SOURCE)); | |
1845 hwndEmph = NULLHANDLE; | |
1846 pCoreEmph = NULL; | |
1847 } | |
1848 | |
1841 MRESULT EXPENTRY _run_event(HWND hWnd, ULONG msg, MPARAM mp1, MPARAM mp2) | 1849 MRESULT EXPENTRY _run_event(HWND hWnd, ULONG msg, MPARAM mp1, MPARAM mp2) |
1842 { | 1850 { |
1843 int result = -1; | 1851 int result = -1; |
1844 SignalHandler *tmp = Root; | 1852 SignalHandler *tmp = Root; |
1845 ULONG origmsg = msg; | 1853 ULONG origmsg = msg; |
2118 _run_event(hWnd, WM_CONTROL, MPFROM2SHORT(0, CN_EMPHASIS), (MPARAM)&pre); | 2126 _run_event(hWnd, WM_CONTROL, MPFROM2SHORT(0, CN_EMPHASIS), (MPARAM)&pre); |
2119 pre.pRecord->flRecordAttr |= CRA_CURSORED; | 2127 pre.pRecord->flRecordAttr |= CRA_CURSORED; |
2120 } | 2128 } |
2121 else | 2129 else |
2122 { | 2130 { |
2131 if(pCoreEmph) | |
2132 _clear_emphasis(); | |
2123 hwndEmph = tmp->window; | 2133 hwndEmph = tmp->window; |
2124 pCoreEmph = mp2; | 2134 pCoreEmph = mp2; |
2125 WinSendMsg(tmp->window, CM_SETRECORDEMPHASIS, mp2, MPFROM2SHORT(TRUE, CRA_SOURCE)); | 2135 WinSendMsg(tmp->window, CM_SETRECORDEMPHASIS, mp2, MPFROM2SHORT(TRUE, CRA_SOURCE)); |
2126 } | 2136 } |
2127 } | 2137 } |
2471 case WM_DESTROY: | 2481 case WM_DESTROY: |
2472 /* Free memory before destroying */ | 2482 /* Free memory before destroying */ |
2473 _free_window_memory(hWnd); | 2483 _free_window_memory(hWnd); |
2474 break; | 2484 break; |
2475 case WM_MENUEND: | 2485 case WM_MENUEND: |
2476 if(hwndEmph && pCoreEmph) | 2486 _clear_emphasis(); |
2477 WinSendMsg(hwndEmph, CM_SETRECORDEMPHASIS, pCoreEmph, MPFROM2SHORT(FALSE, CRA_SOURCE)); | |
2478 hwndEmph = NULLHANDLE; | |
2479 pCoreEmph = NULL; | |
2480 break; | 2487 break; |
2481 } | 2488 } |
2482 | 2489 |
2483 if(result != -1) | 2490 if(result != -1) |
2484 return (MRESULT)result; | 2491 return (MRESULT)result; |