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;