Mercurial > dwindows
comparison os2/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 | 36d0e26a5dea |
children | 7826031d48ce |
comparison
equal
deleted
inserted
replaced
1424:36d0e26a5dea | 1425:1628bf383893 |
---|---|
236 | 236 |
237 /* Internal function to queue a window redraw */ | 237 /* Internal function to queue a window redraw */ |
238 void _dw_redraw(HWND window, int skip) | 238 void _dw_redraw(HWND window, int skip) |
239 { | 239 { |
240 static HWND lastwindow = 0; | 240 static HWND lastwindow = 0; |
241 HWND redraw = lastwindow; | |
241 | 242 |
242 if(skip && !window) | 243 if(skip && !window) |
243 return; | 244 return; |
244 | 245 |
245 if(lastwindow != window && lastwindow) | 246 lastwindow = window; |
247 if(redraw != lastwindow && redraw) | |
246 { | 248 { |
247 dw_window_redraw(lastwindow); | 249 dw_window_redraw(redraw); |
248 } | 250 } |
249 lastwindow = window; | |
250 } | 251 } |
251 | 252 |
252 /* Find the desktop window handle */ | 253 /* Find the desktop window handle */ |
253 HWND _toplevel_window(HWND handle) | 254 HWND _toplevel_window(HWND handle) |
254 { | 255 { |