Mercurial > dwindows
comparison os2/dw.c @ 1434:2cca36ec3da6
Fixed automatic redrawing not occurring on OS/2 and Windows when changes were made from a button press handler.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Tue, 06 Dec 2011 22:36:55 +0000 |
parents | feb0429278e2 |
children | 18c1b999dd65 |
comparison
equal
deleted
inserted
replaced
1433:feb0429278e2 | 1434:2cca36ec3da6 |
---|---|
3854 | 3854 |
3855 MRESULT EXPENTRY _BtProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) | 3855 MRESULT EXPENTRY _BtProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) |
3856 { | 3856 { |
3857 WindowData *blah = WinQueryWindowPtr(hwnd, QWL_USER); | 3857 WindowData *blah = WinQueryWindowPtr(hwnd, QWL_USER); |
3858 PFNWP oldproc; | 3858 PFNWP oldproc; |
3859 int retval = -1; | |
3859 | 3860 |
3860 if(!blah) | 3861 if(!blah) |
3861 return WinDefWindowProc(hwnd, msg, mp1, mp2); | 3862 return WinDefWindowProc(hwnd, msg, mp1, mp2); |
3862 | 3863 |
3863 oldproc = blah->oldproc; | 3864 oldproc = blah->oldproc; |
3930 } | 3931 } |
3931 } | 3932 } |
3932 break; | 3933 break; |
3933 case WM_USER: | 3934 case WM_USER: |
3934 { | 3935 { |
3935 SignalHandler *tmp = (SignalHandler *)mp1; | 3936 SignalHandler *tmp = (SignalHandler *)mp1; |
3936 int (API_FUNC clickfunc)(HWND, void *) = NULL; | 3937 int (API_FUNC clickfunc)(HWND, void *) = NULL; |
3937 | 3938 |
3938 if(tmp) | 3939 if(tmp) |
3939 { | 3940 { |
3940 clickfunc = (int (API_FUNC)(HWND, void *))tmp->signalfunction; | 3941 clickfunc = (int (API_FUNC)(HWND, void *))tmp->signalfunction; |
3941 | 3942 |
3942 clickfunc(tmp->window, tmp->data); | 3943 retval = clickfunc(tmp->window, tmp->data); |
3943 } | 3944 } |
3944 } | 3945 } |
3945 break; | 3946 break; |
3946 case WM_CHAR: | 3947 case WM_CHAR: |
3947 { | 3948 { |
3988 return FALSE; | 3989 return FALSE; |
3989 } | 3990 } |
3990 } | 3991 } |
3991 break; | 3992 break; |
3992 } | 3993 } |
3994 | |
3995 /* Make sure windows are up-to-date */ | |
3996 if(retval != -1) | |
3997 _dw_redraw(0, FALSE); | |
3993 if(!oldproc) | 3998 if(!oldproc) |
3994 return WinDefWindowProc(hwnd, msg, mp1, mp2); | 3999 return WinDefWindowProc(hwnd, msg, mp1, mp2); |
3995 return oldproc(hwnd, msg, mp1, mp2); | 4000 return oldproc(hwnd, msg, mp1, mp2); |
3996 } | 4001 } |
3997 | 4002 |