diff options
author | fluxgen <fluxgen> | 2002-06-14 09:59:49 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2002-06-14 09:59:49 (GMT) |
commit | 8d7690f2abceae861211d1d76d6b7c1cc863ac2f (patch) | |
tree | 510a81aa88655d66cbb84007f356ff776fea58db | |
parent | c98ab8e5b56e2fdb1b02bc6635833ae06363232a (diff) | |
download | fluxbox-8d7690f2abceae861211d1d76d6b7c1cc863ac2f.zip fluxbox-8d7690f2abceae861211d1d76d6b7c1cc863ac2f.tar.bz2 |
fixed transient check
-rw-r--r-- | src/Window.cc | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/Window.cc b/src/Window.cc index b7ecd9b..5f2ea74 100644 --- a/src/Window.cc +++ b/src/Window.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: Window.cc,v 1.59 2002/06/04 09:50:58 fluxgen Exp $ | 25 | // $Id: Window.cc,v 1.60 2002/06/14 09:59:49 fluxgen Exp $ |
26 | 26 | ||
27 | #include "Window.hh" | 27 | #include "Window.hh" |
28 | 28 | ||
@@ -3701,9 +3701,14 @@ void FluxboxWindow::checkTransient() { | |||
3701 | FluxboxWindow *tr; | 3701 | FluxboxWindow *tr; |
3702 | if ((tr = fluxbox->searchWindow(win))) { | 3702 | if ((tr = fluxbox->searchWindow(win))) { |
3703 | 3703 | ||
3704 | while (tr->client.transient) | 3704 | while (tr->client.transient) { |
3705 | tr = tr->client.transient; | 3705 | tr = tr->client.transient; |
3706 | 3706 | if (tr == tr->client.transient) { //ops! something is wrong with transient | |
3707 | tr->client.transient = 0; | ||
3708 | } | ||
3709 | } | ||
3710 | |||
3711 | |||
3707 | client.transient_for = tr; | 3712 | client.transient_for = tr; |
3708 | tr->client.transient = this; | 3713 | tr->client.transient = this; |
3709 | stuck = client.transient_for->stuck; | 3714 | stuck = client.transient_for->stuck; |
@@ -3711,8 +3716,12 @@ void FluxboxWindow::checkTransient() { | |||
3711 | } else if (win == client.window_group) { | 3716 | } else if (win == client.window_group) { |
3712 | if ((tr = fluxbox->searchGroup(win, this))) { | 3717 | if ((tr = fluxbox->searchGroup(win, this))) { |
3713 | 3718 | ||
3714 | while (tr->client.transient) | 3719 | while (tr->client.transient) { |
3715 | tr = tr->client.transient; | 3720 | tr = tr->client.transient; |
3721 | if (tr == tr->client.transient) { //ops! somehtin is wrong with transient | ||
3722 | tr->client.transient = 0; | ||
3723 | } | ||
3724 | } | ||
3716 | 3725 | ||
3717 | client.transient_for = tr; | 3726 | client.transient_for = tr; |
3718 | tr->client.transient = this; | 3727 | tr->client.transient = this; |