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