From 3288edf677bdee56340dd0f4c3b8882b82d94fcd Mon Sep 17 00:00:00 2001 From: Olivier Fourdan Date: Sun, 8 Jul 2018 16:23:25 +0200 Subject: [PATCH] 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) --- src/core/constraints.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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;