comparison win/dw.c @ 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 7b735226ab94
comparison
equal deleted inserted replaced
1424:36d0e26a5dea 1425:1628bf383893
184 184
185 /* Internal function to queue a window redraw */ 185 /* Internal function to queue a window redraw */
186 void _dw_redraw(HWND window, int skip) 186 void _dw_redraw(HWND window, int skip)
187 { 187 {
188 static HWND lastwindow = 0; 188 static HWND lastwindow = 0;
189 HWND redraw = lastwindow;
189 190
190 if(skip && !window) 191 if(skip && !window)
191 return; 192 return;
192 193
193 if(lastwindow != window && lastwindow) 194 lastwindow = window;
195 if(redraw != lastwindow && redraw)
194 { 196 {
195 dw_window_redraw(lastwindow); 197 dw_window_redraw(redraw);
196 } 198 }
197 lastwindow = window;
198 } 199 }
199 200
200 typedef struct _sighandler 201 typedef struct _sighandler
201 { 202 {
202 struct _sighandler *next; 203 struct _sighandler *next;