Mercurial > dwindows
diff mac/dw.m @ 1425:1628bf383893
Changes to _dw_redraw() to prevent infinite recursion on OS/2, Win and Mac.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sat, 03 Dec 2011 04:40:35 +0000 |
parents | 131bedf41332 |
children | fbaec6e5df63 |
line wrap: on
line diff
--- a/mac/dw.m Sat Dec 03 03:40:48 2011 +0000 +++ b/mac/dw.m Sat Dec 03 04:40:35 2011 +0000 @@ -155,15 +155,16 @@ void _dw_redraw(id window, int skip) { static id lastwindow = nil; + id redraw = lastwindow; if(skip && window == nil) - return; - - if(lastwindow != window && lastwindow != nil) - { - dw_window_redraw(lastwindow); - } + return; + lastwindow = window; + if(redraw != lastwindow && redraw != nil) + { + dw_window_redraw(redraw); + } } SignalHandler *_get_handler(HWND window, int messageid)