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