aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2002-08-31 10:40:50 (GMT)
committerfluxgen <fluxgen>2002-08-31 10:40:50 (GMT)
commitaedc03538d6e1dc36fff891831c0f5ad430fce11 (patch)
treecbc4b73c943051ac00fd26fada6b6a4860cfb4f2
parentdf6c91fc4eca9955861a4521daf7cf46cde75d04 (diff)
downloadfluxbox-aedc03538d6e1dc36fff891831c0f5ad430fce11.zip
fluxbox-aedc03538d6e1dc36fff891831c0f5ad430fce11.tar.bz2
extra checking on transient
-rw-r--r--src/Workspace.cc15
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