Check if the frame exists before reading its size

This fixes crashes caused by popup windows that don't have override_redirect
(e.g., menus in VLC and KDE apps).

Signed-off-by: Dima Ryazanov <dima@gmail.com>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
dev
Dima Ryazanov 11 years ago committed by Kristian Høgsberg
parent b03b87fe63
commit cae1f0ff2d
  1. 4
      src/xwayland/window-manager.c

@ -497,7 +497,7 @@ weston_wm_window_get_frame_size(struct weston_wm_window *window,
if (window->fullscreen) {
*width = window->width;
*height = window->height;
} else if (window->decorate) {
} else if (window->decorate && window->frame) {
*width = frame_width(window->frame);
*height = frame_height(window->frame);
} else {
@ -515,7 +515,7 @@ weston_wm_window_get_child_position(struct weston_wm_window *window,
if (window->fullscreen) {
*x = 0;
*y = 0;
} else if (window->decorate) {
} else if (window->decorate && window->frame) {
frame_interior(window->frame, x, y, NULL, NULL);
} else {
*x = t->margin;

Loading…
Cancel
Save