Mercurial > dwindows
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);