diff options
Diffstat (limited to 'src/ui')
-rw-r--r-- | src/ui/frames.c | 16 | ||||
-rw-r--r-- | src/ui/frames.h | 12 | ||||
-rw-r--r-- | src/ui/ui.c | 13 |
3 files changed, 24 insertions, 17 deletions
diff --git a/src/ui/frames.c b/src/ui/frames.c index d65dac82..ad7e10c8 100644 --- a/src/ui/frames.c +++ b/src/ui/frames.c @@ -37,6 +37,7 @@ #include "theme.h" #include "prefs.h" #include "ui.h" +#include "display.h" #ifdef HAVE_SHAPE #include <X11/extensions/shape.h> @@ -1063,11 +1064,12 @@ get_frame_region (int window_width, #endif /* HAVE_SHAPE */ void -meta_frames_apply_shapes (MetaFrames *frames, - Window xwindow, - int new_window_width, - int new_window_height, - gboolean window_has_shape) +meta_frames_apply_shapes (MetaFrames *frames, + MetaDisplay *meta_display, + Window xwindow, + int new_window_width, + int new_window_height, + gboolean window_has_shape) { #ifdef HAVE_SHAPE /* Apply shapes as if window had new_window_width, new_window_height */ @@ -1095,7 +1097,9 @@ meta_frames_apply_shapes (MetaFrames *frames, meta_frames_calc_geometry (frames, frame, &fgeom); - compositing_manager = meta_prefs_get_compositing_manager (); + compositing_manager = meta_prefs_get_compositing_manager () && + meta_display && + !!(meta_display_get_compositor (meta_display)); if (!window_has_shape && compositing_manager) return; diff --git a/src/ui/frames.h b/src/ui/frames.h index ad86ee44..f4821e43 100644 --- a/src/ui/frames.h +++ b/src/ui/frames.h @@ -28,6 +28,7 @@ #include <gdk/gdkx.h> #include "common.h" #include "theme.h" +#include "types.h" typedef enum { @@ -135,11 +136,12 @@ void meta_frames_get_borders (MetaFrames *frames, Window xwindow, MetaFrameBorders *borders); -void meta_frames_apply_shapes (MetaFrames *frames, - Window xwindow, - int new_window_width, - int new_window_height, - gboolean window_has_shape); +void meta_frames_apply_shapes (MetaFrames *frames, + MetaDisplay *meta_display, + Window xwindow, + int new_window_width, + int new_window_height, + gboolean window_has_shape); cairo_region_t *meta_frames_get_frame_bounds (MetaFrames *frames, Window xwindow, int window_width, diff --git a/src/ui/ui.c b/src/ui/ui.c index 4935f77c..3fa439db 100644 --- a/src/ui/ui.c +++ b/src/ui/ui.c @@ -458,13 +458,14 @@ meta_ui_repaint_frame (MetaUI *ui, } void -meta_ui_apply_frame_shape (MetaUI *ui, - Window xwindow, - int new_window_width, - int new_window_height, - gboolean window_has_shape) +meta_ui_apply_frame_shape (MetaUI *ui, + MetaDisplay *display, + Window xwindow, + int new_window_width, + int new_window_height, + gboolean window_has_shape) { - meta_frames_apply_shapes (ui->frames, xwindow, + meta_frames_apply_shapes (ui->frames, display, xwindow, new_window_width, new_window_height, window_has_shape); } |