Mercurial > dwindows
changeset 534:222b0f32e7c9
More Timer cleanups, but it still stops for no apparent reason!
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Tue, 23 Mar 2004 22:37:21 +0000 |
parents | a284fde5d471 |
children | b0b5b880513a |
files | win/dw.c |
diffstat | 1 files changed, 29 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/win/dw.c Tue Mar 23 21:04:08 2004 +0000 +++ b/win/dw.c Tue Mar 23 22:37:21 2004 +0000 @@ -2211,7 +2211,8 @@ if(cinfo && cinfo->buddy) SendMessage(cinfo->buddy, WM_USER+10, 0, 0); - KillTimer(hWnd, 100); + if(hWnd) + KillTimer(hWnd, 100); return ret; } @@ -2335,7 +2336,7 @@ case WM_KEYDOWN: case WM_KEYUP: { - if(mp1 == VK_UP || mp1 == VK_DOWN) + if(hWnd && (mp1 == VK_UP || mp1 == VK_DOWN)) { BOOL ret; @@ -3056,8 +3057,6 @@ dw_window_set_font(hwndBubble, DefaultFont); dw_window_set_color(hwndBubble, DW_CLR_BLACK, DW_CLR_YELLOW); - SetTimer(hwnd, 1, 3000, NULL); - hFont = (HFONT)SendMessage(hwndBubble, WM_GETFONT, 0, 0); hdc = GetDC(hwndBubble); @@ -3277,8 +3276,13 @@ while(GetMessage(&msg, NULL, 0, 0)) { - TranslateMessage(&msg); - DispatchMessage(&msg); + if(msg.hwnd == NULL && msg.message == WM_TIMER) + _wndproc(msg.hwnd, msg.message, msg.wParam, msg.lParam); + else + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } } } @@ -3297,8 +3301,13 @@ if(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)) { GetMessage(&msg, NULL, 0, 0); - TranslateMessage(&msg); - DispatchMessage(&msg); + if(msg.hwnd == NULL && msg.message == WM_TIMER) + _wndproc(msg.hwnd, msg.message, msg.wParam, msg.lParam); + else + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } } else Sleep(1); @@ -3316,8 +3325,13 @@ if(GetMessage(&msg, NULL, 0, 0)) { - TranslateMessage(&msg); - DispatchMessage(&msg); + if(msg.hwnd == NULL && msg.message == WM_TIMER) + _wndproc(msg.hwnd, msg.message, msg.wParam, msg.lParam); + else + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } } } @@ -3380,8 +3394,11 @@ { if(msg.hwnd == NULL && msg.message == WM_TIMER) _wndproc(msg.hwnd, msg.message, msg.wParam, msg.lParam); - TranslateMessage(&msg); - DispatchMessage(&msg); + else + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } if(dialog->done) break; }