diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2017-10-16 17:02:51 +0800 |
---|---|---|
committer | Jonas Ådahl <jadahl@gmail.com> | 2017-11-10 10:24:10 +0800 |
commit | 0add6f62b6dd6b268c9d84927eb9eec535c4b392 (patch) | |
tree | 84f5a4434a9ed2fa92ac017cf8adf5268d8bb7b5 /src | |
parent | 049418cd03f537a407618605617aefb5ef3e4a87 (diff) | |
download | mutter-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.c | 8 |
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); } |