comparison 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
comparison
equal deleted inserted replaced
1424:36d0e26a5dea 1425:1628bf383893
153 153
154 /* Internal function to queue a window redraw */ 154 /* Internal function to queue a window redraw */
155 void _dw_redraw(id window, int skip) 155 void _dw_redraw(id window, int skip)
156 { 156 {
157 static id lastwindow = nil; 157 static id lastwindow = nil;
158 id redraw = lastwindow;
158 159
159 if(skip && window == nil) 160 if(skip && window == nil)
160 return; 161 return;
161 162
162 if(lastwindow != window && lastwindow != nil)
163 {
164 dw_window_redraw(lastwindow);
165 }
166 lastwindow = window; 163 lastwindow = window;
164 if(redraw != lastwindow && redraw != nil)
165 {
166 dw_window_redraw(redraw);
167 }
167 } 168 }
168 169
169 SignalHandler *_get_handler(HWND window, int messageid) 170 SignalHandler *_get_handler(HWND window, int messageid)
170 { 171 {
171 SignalHandler *tmp = Root; 172 SignalHandler *tmp = Root;