diff options
author | fluxgen <fluxgen> | 2002-08-31 10:40:50 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2002-08-31 10:40:50 (GMT) |
commit | aedc03538d6e1dc36fff891831c0f5ad430fce11 (patch) | |
tree | cbc4b73c943051ac00fd26fada6b6a4860cfb4f2 | |
parent | df6c91fc4eca9955861a4521daf7cf46cde75d04 (diff) | |
download | fluxbox-aedc03538d6e1dc36fff891831c0f5ad430fce11.zip fluxbox-aedc03538d6e1dc36fff891831c0f5ad430fce11.tar.bz2 |
extra checking on transient
-rw-r--r-- | src/Workspace.cc | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/Workspace.cc b/src/Workspace.cc index 341f569..531e7fb 100644 --- a/src/Workspace.cc +++ b/src/Workspace.cc | |||
@@ -22,7 +22,7 @@ | |||
22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
23 | // DEALINGS IN THE SOFTWARE. | 23 | // DEALINGS IN THE SOFTWARE. |
24 | 24 | ||
25 | // $Id: Workspace.cc,v 1.25 2002/08/18 23:35:31 fluxgen Exp $ | 25 | // $Id: Workspace.cc,v 1.26 2002/08/31 10:40:50 fluxgen Exp $ |
26 | 26 | ||
27 | #include "Workspace.hh" | 27 | #include "Workspace.hh" |
28 | 28 | ||
@@ -221,15 +221,22 @@ void Workspace::raiseWindow(FluxboxWindow *w) { | |||
221 | FluxboxWindow *win = (FluxboxWindow *) 0, *bottom = w; | 221 | FluxboxWindow *win = (FluxboxWindow *) 0, *bottom = w; |
222 | 222 | ||
223 | while (bottom->isTransient() && bottom->getTransientFor() && | 223 | while (bottom->isTransient() && bottom->getTransientFor() && |
224 | bottom->getTransientFor() != bottom) //prevent infinite loop | 224 | bottom->getTransientFor() != bottom) { //prevent infinite loop |
225 | #ifdef DEBUG | ||
226 | assert(bottom != bottom->getTransientFor()); | ||
227 | #endif // DEBUG | ||
225 | bottom = bottom->getTransientFor(); | 228 | bottom = bottom->getTransientFor(); |
229 | |||
230 | } | ||
226 | 231 | ||
227 | int i = 1; | 232 | int i = 1; |
228 | win = bottom; | 233 | win = bottom; |
229 | while (win->hasTransient() && win->getTransient() && | 234 | while (win->hasTransient() && win->getTransient() && |
230 | win->getTransient() != win) {//prevent infinite loop | 235 | win->getTransient() != win) {//prevent infinite loop |
236 | #ifdef DEBUG | ||
237 | assert(win != win->getTransient()); | ||
238 | #endif // DEBUG | ||
231 | win = win->getTransient(); | 239 | win = win->getTransient(); |
232 | |||
233 | i++; | 240 | i++; |
234 | } | 241 | } |
235 | 242 | ||
@@ -237,7 +244,7 @@ void Workspace::raiseWindow(FluxboxWindow *w) { | |||
237 | Workspace *wkspc; | 244 | Workspace *wkspc; |
238 | 245 | ||
239 | win = bottom; | 246 | win = bottom; |
240 | while (True) { | 247 | while (1) { |
241 | *(curr++) = win->getFrameWindow(); | 248 | *(curr++) = win->getFrameWindow(); |
242 | screen->updateNetizenWindowRaise(win->getClientWindow()); | 249 | screen->updateNetizenWindowRaise(win->getClientWindow()); |
243 | 250 | ||