summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2003-02-21 17:51:57 +0000
committerHavoc Pennington <hp@src.gnome.org>2003-02-21 17:51:57 +0000
commit237f89f6eb95bdab70327ac036340dcfb74355f2 (patch)
treef9b065ac582ff1c432f2f642df6dc2eb6d84474d
parent6de25812ff21ba5a4712bf49bb8e48a3d537f2a6 (diff)
downloadmetacity-237f89f6eb95bdab70327ac036340dcfb74355f2.tar.gz
don't create constraints between windows on different screens, #106086
2003-02-20 Havoc Pennington <hp@redhat.com> * src/stack.c (create_constraints): don't create constraints between windows on different screens, #106086 tracked down by Arvind
-rw-r--r--ChangeLog7
-rw-r--r--src/stack.c8
2 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index ed9ad2f0..47ad6ac0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,11 @@
+2003-02-20 Havoc Pennington <hp@redhat.com>
+
+ * src/stack.c (create_constraints): don't create constraints
+ between windows on different screens, #106086 tracked down
+ by Arvind
+
2003-02-14 Arvind Samptur <arvind.samptur@wipro.com>
+
* src/screen.c: (meta_screen_new) : Update the workspace
names from gconf and set the NET_DESKTOP_NAMES atom.
Renamed update_workspace_names() to set_workspace_names().
diff --git a/src/stack.c b/src/stack.c
index a3898317..9aa4b9b0 100644
--- a/src/stack.c
+++ b/src/stack.c
@@ -501,6 +501,8 @@ add_constraint (Constraint **constraints,
MetaWindow *below)
{
Constraint *c;
+
+ g_assert (above->screen == below->screen);
/* check if constraint is a duplicate */
c = constraints[below->stack_position];
@@ -575,7 +577,8 @@ create_constraints (Constraint **constraints,
{
MetaWindow *group_window = tmp2->data;
- if (!WINDOW_IN_STACK (group_window))
+ if (!WINDOW_IN_STACK (group_window) ||
+ w->screen != group_window->screen)
{
tmp2 = tmp2->next;
continue;
@@ -610,7 +613,8 @@ create_constraints (Constraint **constraints,
parent =
meta_display_lookup_x_window (w->display, w->xtransient_for);
- if (parent && WINDOW_IN_STACK (parent))
+ if (parent && WINDOW_IN_STACK (parent) &&
+ parent->screen == w->screen)
{
meta_topic (META_DEBUG_STACK, "Constraining %s above %s due to transiency\n",
w->desc, parent->desc);