diff 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
line wrap: on
line diff
--- a/os2/dw.c	Sat Dec 10 23:27:21 2011 +0000
+++ b/os2/dw.c	Wed Dec 14 00:23:30 2011 +0000
@@ -1131,6 +1131,12 @@
                thisbox->items[z].width = tmp->minwidth;
                thisbox->items[z].height = tmp->minheight;
                
+               /* If the box has no contents but is expandable... default the size to 1 */
+               if(!thisbox->items[z].width && thisbox->items[z].hsize)
+                  thisbox->items[z].width = 1;
+               if(!thisbox->items[z].height && thisbox->items[z].vsize)
+                  thisbox->items[z].height = 1;
+               
                (*depth)--;
             }
          }
@@ -3997,6 +4003,8 @@
    QMSG qmsg;
 
    _dwtid = dw_thread_id();
+   /* Make sure any queued redraws are handled */
+   _dw_redraw(0, FALSE);
 
    while(WinGetMsg(dwhab, &qmsg, 0, 0, 0))
    {