Mercurial > dwindows
comparison os2/dw.c @ 1449:632346743f46
Fixed dw_window_redraw() on Windows not recalculating notebook page contents if the notebook size didn't change.
Remove notebook page subclass and do the redrawing in _resize_box() itself.
Fixed expandable boxes with no contents not consuming any space on OS/2, Windows and Mac.
Added invalidated window redraw on entering dw_main() on OS/2, Windows and Mac.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 14 Dec 2011 00:23:30 +0000 |
parents | 8f7692fcad37 |
children | a56fa83f2a7c |
comparison
equal
deleted
inserted
replaced
1448:508dde3dc398 | 1449:632346743f46 |
---|---|
1128 _resize_box(tmp, depth, x, y, pass); | 1128 _resize_box(tmp, depth, x, y, pass); |
1129 | 1129 |
1130 /* Duplicate the values in the item list for use below */ | 1130 /* Duplicate the values in the item list for use below */ |
1131 thisbox->items[z].width = tmp->minwidth; | 1131 thisbox->items[z].width = tmp->minwidth; |
1132 thisbox->items[z].height = tmp->minheight; | 1132 thisbox->items[z].height = tmp->minheight; |
1133 | |
1134 /* If the box has no contents but is expandable... default the size to 1 */ | |
1135 if(!thisbox->items[z].width && thisbox->items[z].hsize) | |
1136 thisbox->items[z].width = 1; | |
1137 if(!thisbox->items[z].height && thisbox->items[z].vsize) | |
1138 thisbox->items[z].height = 1; | |
1133 | 1139 |
1134 (*depth)--; | 1140 (*depth)--; |
1135 } | 1141 } |
1136 } | 1142 } |
1137 } | 1143 } |
3995 void API dw_main(void) | 4001 void API dw_main(void) |
3996 { | 4002 { |
3997 QMSG qmsg; | 4003 QMSG qmsg; |
3998 | 4004 |
3999 _dwtid = dw_thread_id(); | 4005 _dwtid = dw_thread_id(); |
4006 /* Make sure any queued redraws are handled */ | |
4007 _dw_redraw(0, FALSE); | |
4000 | 4008 |
4001 while(WinGetMsg(dwhab, &qmsg, 0, 0, 0)) | 4009 while(WinGetMsg(dwhab, &qmsg, 0, 0, 0)) |
4002 { | 4010 { |
4003 if(qmsg.msg == WM_TIMER && qmsg.hwnd == NULLHANDLE) | 4011 if(qmsg.msg == WM_TIMER && qmsg.hwnd == NULLHANDLE) |
4004 _run_event(qmsg.hwnd, qmsg.msg, qmsg.mp1, qmsg.mp2); | 4012 _run_event(qmsg.hwnd, qmsg.msg, qmsg.mp1, qmsg.mp2); |