summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openbox/client.h6
-rw-r--r--openbox/stacking.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/openbox/client.h b/openbox/client.h
index 172d4caf..3ab555b0 100644
--- a/openbox/client.h
+++ b/openbox/client.h
@@ -123,7 +123,11 @@ typedef struct Client {
be TRUE if transient_for != NULL, but not guaranteed to be FALSE if
transient_for == NULL. */
gboolean transient;
- /*! The client which this client is a transient (child) for */
+ /*! The client which this client is a transient (child) for.
+ A value of TRAN_GROUP signifies that the window is a transient for all
+ members of its Group, and is not a valid pointer to be followed in this
+ case.
+ */
struct Client *transient_for;
/*! The clients which are transients (children) of this client */
GSList *transients;
diff --git a/openbox/stacking.c b/openbox/stacking.c
index b8194a78..275cd572 100644
--- a/openbox/stacking.c
+++ b/openbox/stacking.c
@@ -94,6 +94,8 @@ void stacking_lower(Client *client)
GSList *sit;
Client *c = it->data;
+ if (it->data == client) continue;
+
for (sit = c->group->members; sit; sit = sit->next)
if (sit->data == it->data) break;
if (sit) break; /* got it */