[metacity] core: simplify code
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [metacity] core: simplify code
- Date: Sun, 8 Jan 2017 19:54:06 +0000 (UTC)
commit 78ce4c4aa72220627849e3bc5202e4f2736f84b7
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Sun Jan 8 19:37:32 2017 +0200
core: simplify code
src/core/display.c | 66 ++++++++++++++++++---------------------------------
src/core/screen.c | 26 ++++++++------------
src/core/window.c | 40 ++++++++++++-------------------
3 files changed, 49 insertions(+), 83 deletions(-)
---
diff --git a/src/core/display.c b/src/core/display.c
index 1d96d34..695f6e3 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -244,11 +244,21 @@ sn_error_trap_pop (SnDisplay *sn_display,
#endif
static void
-enable_compositor (MetaCompositorType type,
- MetaDisplay *display,
- gboolean composite_windows)
+update_compositor (MetaDisplay *display,
+ gboolean composite_windows)
{
- g_assert (display->compositor == NULL);
+ MetaCompositorType type;
+
+ if (display->compositor != NULL)
+ {
+ meta_compositor_unmanage_screen (display->compositor, display->screen);
+ meta_compositor_destroy (display->compositor);
+ }
+
+ if (meta_prefs_get_compositing_manager ())
+ type = META_COMPOSITOR_TYPE_XRENDER;
+ else
+ type = META_COMPOSITOR_TYPE_NONE;
display->compositor = meta_compositor_new (type, display);
@@ -258,17 +268,6 @@ enable_compositor (MetaCompositorType type,
meta_screen_composite_all_windows (display->screen);
}
-static void
-disable_compositor (MetaDisplay *display)
-{
- g_return_if_fail (display->compositor != NULL);
-
- meta_compositor_unmanage_screen (display->compositor, display->screen);
-
- meta_compositor_destroy (display->compositor);
- display->compositor = NULL;
-}
-
/**
* Opens a new display, sets it up, initialises all the X extensions
* we will need, and adds it to the list of displays.
@@ -660,10 +659,7 @@ meta_display_open (void)
/* We don't composite the windows here because they will be composited
faster with the call to meta_screen_manage_all_windows further down
the code */
- if (meta_prefs_get_compositing_manager ())
- enable_compositor (META_COMPOSITOR_TYPE_XRENDER, the_display, FALSE);
- else
- enable_compositor (META_COMPOSITOR_TYPE_NONE, the_display, FALSE);
+ update_compositor (the_display, FALSE);
meta_display_grab (the_display);
@@ -847,8 +843,7 @@ meta_display_close (MetaDisplay *display,
meta_display_shutdown_keys (display);
- if (display->compositor)
- meta_compositor_destroy (display->compositor);
+ meta_compositor_destroy (display->compositor);
g_free (display);
the_display = NULL;
@@ -2443,12 +2438,7 @@ event_callback (XEvent *event,
break;
}
- if (display->compositor)
- {
- meta_compositor_process_event (display->compositor,
- event,
- window);
- }
+ meta_compositor_process_event (display->compositor, event, window);
display->current_time = CurrentTime;
return filter_out_event;
@@ -3302,12 +3292,9 @@ meta_display_begin_grab_op (MetaDisplay *display,
if (grab_op_is_mouse (op) && meta_grab_op_is_moving (op))
{
- if (display->compositor)
- {
- meta_compositor_begin_move (display->compositor,
- window, &window->rect,
- root_x, root_y);
- }
+ meta_compositor_begin_move (display->compositor,
+ window, &window->rect,
+ root_x, root_y);
}
meta_topic (META_DEBUG_WINDOW_OPS,
@@ -3688,13 +3675,11 @@ meta_display_end_grab_op (MetaDisplay *display,
meta_window_calc_showing (display->grab_window);
}
- if (display->compositor &&
- display->grab_window &&
+ if (display->grab_window &&
grab_op_is_mouse (display->grab_op) &&
meta_grab_op_is_moving (display->grab_op))
{
- meta_compositor_end_move (display->compositor,
- display->grab_window);
+ meta_compositor_end_move (display->compositor, display->grab_window);
}
if (display->grab_have_pointer)
@@ -5048,12 +5033,7 @@ prefs_changed_callback (MetaPreference pref,
}
else if (pref == META_PREF_COMPOSITING_MANAGER)
{
- disable_compositor (display);
-
- if (meta_prefs_get_compositing_manager ())
- enable_compositor (META_COMPOSITOR_TYPE_XRENDER, display, TRUE);
- else
- enable_compositor (META_COMPOSITOR_TYPE_NONE, display, TRUE);
+ update_compositor (display, TRUE);
}
else if (pref == META_PREF_ATTACH_MODAL_DIALOGS)
{
diff --git a/src/core/screen.c b/src/core/screen.c
index ca6a3f2..bd61928 100644
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@ -635,11 +635,7 @@ meta_screen_free (MetaScreen *screen,
meta_display_grab (display);
- if (screen->display->compositor)
- {
- meta_compositor_unmanage_screen (screen->display->compositor,
- screen);
- }
+ meta_compositor_unmanage_screen (display->compositor, screen);
meta_display_unmanage_windows_for_screen (display, screen, timestamp);
@@ -786,9 +782,8 @@ meta_screen_manage_all_windows (MetaScreen *screen)
continue;
}
- if (screen->display->compositor)
- meta_compositor_add_window (screen->display->compositor, window,
- info->xwindow, &info->attrs);
+ meta_compositor_add_window (screen->display->compositor, window,
+ info->xwindow, &info->attrs);
}
meta_stack_thaw (screen->stack);
@@ -805,8 +800,6 @@ meta_screen_composite_all_windows (MetaScreen *screen)
GList *windows, *list;
display = screen->display;
- if (!display->compositor)
- return;
windows = list_windows (screen);
@@ -815,6 +808,7 @@ meta_screen_composite_all_windows (MetaScreen *screen)
for (list = windows; list != NULL; list = list->next)
{
WindowInfo *info = list->data;
+ MetaWindow *window;
if (info->xwindow == screen->no_focus_window ||
info->xwindow == screen->flash_window ||
@@ -824,10 +818,9 @@ meta_screen_composite_all_windows (MetaScreen *screen)
continue;
}
- meta_compositor_add_window (display->compositor,
- meta_display_lookup_x_window (display,
- info->xwindow),
- info->xwindow, &info->attrs);
+ window = meta_display_lookup_x_window (display, info->xwindow);
+ meta_compositor_add_window (display->compositor, window,
+ info->xwindow, &info->attrs);
}
meta_stack_thaw (screen->stack);
@@ -1213,12 +1206,13 @@ get_window_pixbuf (MetaWindow *window,
int *width,
int *height)
{
+ MetaDisplay *display;
cairo_surface_t *surface;
GdkPixbuf *pixbuf, *scaled;
double ratio;
- surface = meta_compositor_get_window_surface (window->display->compositor,
- window);
+ display = window->display;
+ surface = meta_compositor_get_window_surface (display->compositor, window);
if (surface == NULL)
return NULL;
diff --git a/src/core/window.c b/src/core/window.c
index 15b36c3..d8f8614 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -939,8 +939,7 @@ meta_window_free (MetaWindow *window,
meta_verbose ("Unmanaging 0x%lx\n", window->xwindow);
- if (window->display->compositor)
- meta_compositor_free_window (window->display->compositor, window);
+ meta_compositor_free_window (window->display->compositor, window);
if (window->display->window_with_menu == window)
{
@@ -3696,16 +3695,14 @@ meta_window_move_resize_internal (MetaWindow *window,
meta_error_trap_push (window->display);
if (window->sync_request_counter != None &&
- window->display->grab_sync_request_alarm != None &&
- window->sync_request_time.tv_usec == 0 &&
- window->sync_request_time.tv_sec == 0)
- {
- /* turn off updating */
- if (window->display->compositor)
- meta_compositor_set_updates (window->display->compositor, window, FALSE);
-
- send_sync_request (window);
- }
+ window->display->grab_sync_request_alarm != None &&
+ window->sync_request_time.tv_usec == 0 &&
+ window->sync_request_time.tv_sec == 0)
+ {
+ /* turn off updating */
+ meta_compositor_set_updates (window->display->compositor, window, FALSE);
+ send_sync_request (window);
+ }
XConfigureWindow (window->display->xdisplay,
window->xwindow,
@@ -7073,6 +7070,7 @@ update_move (MetaWindow *window,
MetaRectangle old;
int shake_threshold;
MetaDisplay *display = window->display;
+ int root_x, root_y;
display->grab_latest_motion_x = x;
display->grab_latest_motion_y = y;
@@ -7287,14 +7285,9 @@ update_move (MetaWindow *window,
snap,
FALSE);
- if (display->compositor)
- {
- int root_x = new_x - display->grab_anchor_window_pos.x + display->grab_anchor_root_x;
- int root_y = new_y - display->grab_anchor_window_pos.y + display->grab_anchor_root_y;
-
- meta_compositor_update_move (display->compositor,
- window, root_x, root_y);
- }
+ root_x = new_x - display->grab_anchor_window_pos.x + display->grab_anchor_root_x;
+ root_y = new_y - display->grab_anchor_window_pos.y + display->grab_anchor_root_y;
+ meta_compositor_update_move (display->compositor, window, root_x, root_y);
if (display->grab_wireframe_active)
meta_window_update_wireframe (window, new_x, new_y,
@@ -7462,8 +7455,7 @@ update_resize (MetaWindow *window,
}
/* If we get here, it means the client should have redrawn itself */
- if (window->display->compositor)
- meta_compositor_set_updates (window->display->compositor, window, TRUE);
+ meta_compositor_set_updates (window->display->compositor, window, TRUE);
/* Remove any scheduled compensation events */
if (window->display->grab_resize_timeout_id)
@@ -7741,8 +7733,8 @@ meta_window_handle_mouse_grab_op_event (MetaWindow *window,
event->xbutton.x_root,
event->xbutton.y_root,
TRUE);
- if (window->display->compositor)
- meta_compositor_set_updates (window->display->compositor, window, TRUE);
+
+ meta_compositor_set_updates (window->display->compositor, window, TRUE);
/* If a tiled window has been dragged free with a
* mouse resize without snapping back to the tiled
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]