diff options
author | Jeremy Nickurak <jeremy@nickurak.ca> | 2018-01-11 11:31:42 -0700 |
---|---|---|
committer | Marco Trevisan (TreviƱo) <mail@3v1n0.net> | 2018-01-21 14:41:48 +0100 |
commit | 6dcce19932506233e0663450aa8d62a0037132c4 (patch) | |
tree | ca4410278ce0c7f3e2c4cc6e9f90aeb6b7cd03a6 /src/x11/window-x11.c | |
parent | cc40a885ef28bdea769ce6a9482791f3d3dacf52 (diff) | |
download | mutter-6dcce19932506233e0663450aa8d62a0037132c4.tar.gz |
Don't attempt to get monitor geometry on non-existent monitors
https://bugzilla.gnome.org/show_bug.cgi?id=788834
Diffstat (limited to 'src/x11/window-x11.c')
-rw-r--r-- | src/x11/window-x11.c | 49 |
1 files changed, 26 insertions, 23 deletions
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c index a8c53e8e6..bb84cdafc 100644 --- a/src/x11/window-x11.c +++ b/src/x11/window-x11.c @@ -2094,30 +2094,33 @@ meta_window_move_resize_request (MetaWindow *window, rect.width = width; rect.height = height; - meta_screen_get_monitor_geometry (window->screen, window->monitor->number, &monitor_rect); - - /* Workaround braindead legacy apps that don't know how to - * fullscreen themselves properly - don't get fooled by - * windows which hide their titlebar when maximized or which are - * client decorated; that's not the same as fullscreen, even - * if there are no struts making the workarea smaller than - * the monitor. - */ - if (meta_prefs_get_force_fullscreen() && - !window->hide_titlebar_when_maximized && - (window->decorated || !meta_window_is_client_decorated (window)) && - meta_rectangle_equal (&rect, &monitor_rect) && - window->has_fullscreen_func && - !window->fullscreen) + if (window->monitor) { - /* - meta_topic (META_DEBUG_GEOMETRY, - */ - meta_warning ( - "Treating resize request of legacy application %s as a " - "fullscreen request\n", - window->desc); - meta_window_make_fullscreen_internal (window); + meta_screen_get_monitor_geometry (window->screen, window->monitor->number, &monitor_rect); + + /* Workaround braindead legacy apps that don't know how to + * fullscreen themselves properly - don't get fooled by + * windows which hide their titlebar when maximized or which are + * client decorated; that's not the same as fullscreen, even + * if there are no struts making the workarea smaller than + * the monitor. + */ + if (meta_prefs_get_force_fullscreen() && + !window->hide_titlebar_when_maximized && + (window->decorated || !meta_window_is_client_decorated (window)) && + meta_rectangle_equal (&rect, &monitor_rect) && + window->has_fullscreen_func && + !window->fullscreen) + { + /* + meta_topic (META_DEBUG_GEOMETRY, + */ + meta_warning ( + "Treating resize request of legacy application %s as a " + "fullscreen request\n", + window->desc); + meta_window_make_fullscreen_internal (window); + } } adjust_for_gravity (window, TRUE, gravity, &rect); |