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
This commit is contained in:
Havoc Pennington 2003-02-21 17:51:48 +00:00 committed by Havoc Pennington
parent e8d63890fc
commit 48bc82e82f
2 changed files with 13 additions and 2 deletions

View File

@ -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().

View File

@ -502,6 +502,8 @@ add_constraint (Constraint **constraints,
{
Constraint *c;
g_assert (above->screen == below->screen);
/* check if constraint is a duplicate */
c = constraints[below->stack_position];
while (c != NULL)
@ -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);