diff options
author | Olivier Fourdan <ofourdan@redhat.com> | 2018-07-08 16:23:25 +0200 |
---|---|---|
committer | Olivier Fourdan <ofourdan@redhat.com> | 2018-07-10 17:03:20 +0200 |
commit | 3288edf677bdee56340dd0f4c3b8882b82d94fcd (patch) | |
tree | 69ac6ef7dfec1a9056d8bcb3ad290edadb2b8bcc | |
parent | fe1616668e9d82e87f6c518b3b4bacff3afefdf7 (diff) | |
download | mutter-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.c | 3 |
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; |