summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Fourdan <ofourdan@redhat.com>2018-07-08 16:23:25 +0200
committerOlivier Fourdan <ofourdan@redhat.com>2018-07-10 17:03:20 +0200
commit3288edf677bdee56340dd0f4c3b8882b82d94fcd (patch)
tree69ac6ef7dfec1a9056d8bcb3ad290edadb2b8bcc
parentfe1616668e9d82e87f6c518b3b4bacff3afefdf7 (diff)
downloadmutter-3288edf677bdee56340dd0f4c3b8882b82d94fcd.tar.gz
contraints: Do not constrain modals without parent
xdg-foreign clears the `transient_for` of a modal dialog when its imported parent is destroyed, which would later cause a crash in `constrain_modal_dialog()` because the transient `NULL`. So in case a modal dialog has no parent, do not try to constrain it against its parent. Closes: https://gitlab.gnome.org/GNOME/mutter/issues/174 (cherry picked from commit 912a6f5e3f86040b75c18ce2e2c26ffd9a7925ee)
-rw-r--r--src/core/constraints.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/constraints.c b/src/core/constraints.c
index f5360ef9d..8bfbe73ba 100644
--- a/src/core/constraints.c
+++ b/src/core/constraints.c
@@ -886,7 +886,8 @@ constrain_modal_dialog (MetaWindow *window,
MetaRectangle child_rect, parent_rect;
gboolean constraint_already_satisfied;
- if (!meta_window_is_attached_dialog (window) ||
+ if (!parent ||
+ !meta_window_is_attached_dialog (window) ||
meta_window_get_placement_rule (window))
return TRUE;