summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2017-10-16 17:02:51 +0800
committerJonas Ådahl <jadahl@gmail.com>2017-11-10 10:24:10 +0800
commit0add6f62b6dd6b268c9d84927eb9eec535c4b392 (patch)
tree84f5a4434a9ed2fa92ac017cf8adf5268d8bb7b5 /src
parent049418cd03f537a407618605617aefb5ef3e4a87 (diff)
downloadmutter-0add6f62b6dd6b268c9d84927eb9eec535c4b392.tar.gz
window/wayland: Handle resizing when headless
We tried to get the geometry scale, which may depend on the main logical monitor assigned to the window. To avoid dereferencing a NULL logical monitor when headless, instead assume the geometry scale is 1. https://bugzilla.gnome.org/show_bug.cgi?id=788764
Diffstat (limited to 'src')
-rw-r--r--src/wayland/meta-window-wayland.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/wayland/meta-window-wayland.c b/src/wayland/meta-window-wayland.c
index ed6e34b43..f3f0e1688 100644
--- a/src/wayland/meta-window-wayland.c
+++ b/src/wayland/meta-window-wayland.c
@@ -67,6 +67,8 @@ G_DEFINE_TYPE (MetaWindowWayland, meta_window_wayland, META_TYPE_WINDOW)
static int
get_window_geometry_scale_for_logical_monitor (MetaLogicalMonitor *logical_monitor)
{
+ g_assert (logical_monitor);
+
if (meta_is_stage_views_scaled ())
return 1;
else
@@ -79,8 +81,7 @@ meta_window_wayland_manage (MetaWindow *window)
MetaWindowWayland *wl_window = META_WINDOW_WAYLAND (window);
MetaDisplay *display = window->display;
- wl_window->geometry_scale =
- get_window_geometry_scale_for_logical_monitor (window->monitor);
+ wl_window->geometry_scale = meta_window_wayland_get_geometry_scale (window);
meta_display_register_wayland_window (display, window);
@@ -634,6 +635,9 @@ should_do_pending_move (MetaWindowWayland *wl_window,
int
meta_window_wayland_get_geometry_scale (MetaWindow *window)
{
+ if (!window->monitor)
+ return 1;
+
return get_window_geometry_scale_for_logical_monitor (window->monitor);
}