changeset 1654:3d4066aab4e0

Fixed windows not automatically redrawing when removing items from a layout on OS/2, Mac and Windows.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 09 Apr 2012 21:06:50 +0000
parents a7a24a3b8899
children de4b88ee7ad8
files mac/dw.m os2/dw.c win/dw.c
diffstat 3 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mac/dw.m	Mon Apr 09 07:15:05 2012 +0000
+++ b/mac/dw.m	Mon Apr 09 21:06:50 2012 +0000
@@ -8496,6 +8496,7 @@
             Box *thisbox = [parent box];
             int z, index = -1;
             Item *tmpitem, *thisitem = thisbox->items;
+            id window = [object window];
 
             for(z=0;z<thisbox->count;z++)
             {
@@ -8527,6 +8528,8 @@
             thisbox->items = tmpitem;
             free(thisitem);
             thisbox->count--;
+            /* Queue a redraw on the top-level window */
+            _dw_redraw(window, TRUE);
         }
     }
     DW_MUTEX_UNLOCK;
--- a/os2/dw.c	Mon Apr 09 07:15:05 2012 +0000
+++ b/os2/dw.c	Mon Apr 09 21:06:50 2012 +0000
@@ -4543,6 +4543,8 @@
          thisbox->items = tmpitem;
          free(thisitem);
          thisbox->count--;
+         /* Queue a redraw on the top-level window */
+         _dw_redraw(_toplevel_window(handle), TRUE);
       }
       _free_window_memory(frame ? frame : handle);
    }
--- a/win/dw.c	Mon Apr 09 07:15:05 2012 +0000
+++ b/win/dw.c	Mon Apr 09 21:06:50 2012 +0000
@@ -4374,6 +4374,8 @@
          thisbox->items = tmpitem;
          free(thisitem);
          thisbox->count--;
+         /* Queue a redraw on the top-level window */
+         _dw_redraw(_toplevel_window(handle), TRUE);
       }
       _free_window_memory(handle, 0);
       EnumChildWindows(handle, _free_window_memory, 0);