[mutter] display: Use a local here instead of the global the_display
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] display: Use a local here instead of the global the_display
- Date: Sun, 13 Jul 2014 15:47:23 +0000 (UTC)
commit 2185904fcb35b61800cafd38212a33bad02aa284
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Thu Jul 10 17:58:58 2014 -0400
display: Use a local here instead of the global the_display
This will make it easier to split some of this functionality out into
other subfunctions.
src/core/display.c | 321 ++++++++++++++++++++++++++--------------------------
1 files changed, 161 insertions(+), 160 deletions(-)
---
diff --git a/src/core/display.c b/src/core/display.c
index 3fa9067..c5f412e 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -470,6 +470,7 @@ meta_display_ungrab_window_touch (MetaDisplay *display,
gboolean
meta_display_open (void)
{
+ MetaDisplay *display;
Display *xdisplay;
MetaScreen *screen;
int i;
@@ -501,223 +502,223 @@ meta_display_open (void)
XSynchronize (xdisplay, True);
g_assert (the_display == NULL);
- the_display = g_object_new (META_TYPE_DISPLAY, NULL);
+ display = the_display = g_object_new (META_TYPE_DISPLAY, NULL);
- the_display->closing = 0;
+ display->closing = 0;
/* here we use XDisplayName which is what the user
* probably put in, vs. DisplayString(display) which is
* canonicalized by XOpenDisplay()
*/
- the_display->name = g_strdup (XDisplayName (NULL));
- the_display->xdisplay = xdisplay;
- the_display->display_opening = TRUE;
-
- the_display->pending_pings = NULL;
- the_display->autoraise_timeout_id = 0;
- the_display->autoraise_window = NULL;
- the_display->focus_window = NULL;
- the_display->focus_serial = 0;
- the_display->server_focus_window = None;
- the_display->server_focus_serial = 0;
-
- the_display->mouse_mode = TRUE; /* Only relevant for mouse or sloppy focus */
- the_display->allow_terminal_deactivation = TRUE; /* Only relevant for when a
+ display->name = g_strdup (XDisplayName (NULL));
+ display->xdisplay = xdisplay;
+ display->display_opening = TRUE;
+
+ display->pending_pings = NULL;
+ display->autoraise_timeout_id = 0;
+ display->autoraise_window = NULL;
+ display->focus_window = NULL;
+ display->focus_serial = 0;
+ display->server_focus_window = None;
+ display->server_focus_serial = 0;
+
+ display->mouse_mode = TRUE; /* Only relevant for mouse or sloppy focus */
+ display->allow_terminal_deactivation = TRUE; /* Only relevant for when a
terminal has the focus */
- meta_bell_init (the_display);
+ meta_bell_init (display);
- meta_display_init_keys (the_display);
+ meta_display_init_keys (display);
- update_window_grab_modifiers (the_display);
+ update_window_grab_modifiers (display);
- meta_prefs_add_listener (prefs_changed_callback, the_display);
+ meta_prefs_add_listener (prefs_changed_callback, display);
meta_verbose ("Creating %d atoms\n", (int) G_N_ELEMENTS (atom_names));
- XInternAtoms (the_display->xdisplay, atom_names, G_N_ELEMENTS (atom_names),
+ XInternAtoms (display->xdisplay, atom_names, G_N_ELEMENTS (atom_names),
False, atoms);
{
int i = 0;
-#define item(x) the_display->atom_##x = atoms[i++];
+#define item(x) display->atom_##x = atoms[i++];
#include <meta/atomnames.h>
#undef item
}
- the_display->prop_hooks = NULL;
- meta_display_init_window_prop_hooks (the_display);
- the_display->group_prop_hooks = NULL;
- meta_display_init_group_prop_hooks (the_display);
+ display->prop_hooks = NULL;
+ meta_display_init_window_prop_hooks (display);
+ display->group_prop_hooks = NULL;
+ meta_display_init_group_prop_hooks (display);
/* Offscreen unmapped window used for _NET_SUPPORTING_WM_CHECK,
* created in screen_new
*/
- the_display->leader_window = None;
- the_display->timestamp_pinging_window = None;
+ display->leader_window = None;
+ display->timestamp_pinging_window = None;
- the_display->monitor_cache_invalidated = TRUE;
+ display->monitor_cache_invalidated = TRUE;
- the_display->groups_by_leader = NULL;
+ display->groups_by_leader = NULL;
- the_display->screen = NULL;
+ display->screen = NULL;
#ifdef HAVE_STARTUP_NOTIFICATION
- the_display->sn_display = sn_display_new (the_display->xdisplay,
+ display->sn_display = sn_display_new (display->xdisplay,
sn_error_trap_push,
sn_error_trap_pop);
#endif
/* Get events */
- meta_display_init_events (the_display);
+ meta_display_init_events (display);
- the_display->xids = g_hash_table_new (meta_unsigned_long_hash,
+ display->xids = g_hash_table_new (meta_unsigned_long_hash,
meta_unsigned_long_equal);
- the_display->wayland_windows = g_hash_table_new (NULL, NULL);
+ display->wayland_windows = g_hash_table_new (NULL, NULL);
i = 0;
while (i < N_IGNORED_CROSSING_SERIALS)
{
- the_display->ignored_crossing_serials[i] = 0;
+ display->ignored_crossing_serials[i] = 0;
++i;
}
- the_display->ungrab_should_not_cause_focus_window = None;
+ display->ungrab_should_not_cause_focus_window = None;
- the_display->current_time = CurrentTime;
- the_display->sentinel_counter = 0;
+ display->current_time = CurrentTime;
+ display->sentinel_counter = 0;
- the_display->grab_resize_timeout_id = 0;
- the_display->grab_have_keyboard = FALSE;
+ display->grab_resize_timeout_id = 0;
+ display->grab_have_keyboard = FALSE;
#ifdef HAVE_XKB
- the_display->last_bell_time = 0;
+ display->last_bell_time = 0;
#endif
- the_display->grab_op = META_GRAB_OP_NONE;
- the_display->grab_window = NULL;
- the_display->grab_tile_mode = META_TILE_NONE;
- the_display->grab_tile_monitor_number = -1;
+ display->grab_op = META_GRAB_OP_NONE;
+ display->grab_window = NULL;
+ display->grab_tile_mode = META_TILE_NONE;
+ display->grab_tile_monitor_number = -1;
- the_display->grab_edge_resistance_data = NULL;
+ display->grab_edge_resistance_data = NULL;
{
int major, minor;
- the_display->have_xsync = FALSE;
+ display->have_xsync = FALSE;
- the_display->xsync_error_base = 0;
- the_display->xsync_event_base = 0;
+ display->xsync_error_base = 0;
+ display->xsync_event_base = 0;
/* I don't think we really have to fill these in */
major = SYNC_MAJOR_VERSION;
minor = SYNC_MINOR_VERSION;
- if (!XSyncQueryExtension (the_display->xdisplay,
- &the_display->xsync_event_base,
- &the_display->xsync_error_base) ||
- !XSyncInitialize (the_display->xdisplay,
+ if (!XSyncQueryExtension (display->xdisplay,
+ &display->xsync_event_base,
+ &display->xsync_error_base) ||
+ !XSyncInitialize (display->xdisplay,
&major, &minor))
{
- the_display->xsync_error_base = 0;
- the_display->xsync_event_base = 0;
+ display->xsync_error_base = 0;
+ display->xsync_event_base = 0;
}
else
{
- the_display->have_xsync = TRUE;
- XSyncSetPriority (the_display->xdisplay, None, 10);
+ display->have_xsync = TRUE;
+ XSyncSetPriority (display->xdisplay, None, 10);
}
meta_verbose ("Attempted to init Xsync, found version %d.%d error base %d event base %d\n",
major, minor,
- the_display->xsync_error_base,
- the_display->xsync_event_base);
+ display->xsync_error_base,
+ display->xsync_event_base);
}
{
- the_display->have_shape = FALSE;
+ display->have_shape = FALSE;
- the_display->shape_error_base = 0;
- the_display->shape_event_base = 0;
+ display->shape_error_base = 0;
+ display->shape_event_base = 0;
- if (!XShapeQueryExtension (the_display->xdisplay,
- &the_display->shape_event_base,
- &the_display->shape_error_base))
+ if (!XShapeQueryExtension (display->xdisplay,
+ &display->shape_event_base,
+ &display->shape_error_base))
{
- the_display->shape_error_base = 0;
- the_display->shape_event_base = 0;
+ display->shape_error_base = 0;
+ display->shape_event_base = 0;
}
else
- the_display->have_shape = TRUE;
+ display->have_shape = TRUE;
meta_verbose ("Attempted to init Shape, found error base %d event base %d\n",
- the_display->shape_error_base,
- the_display->shape_event_base);
+ display->shape_error_base,
+ display->shape_event_base);
}
{
- the_display->have_composite = FALSE;
+ display->have_composite = FALSE;
- the_display->composite_error_base = 0;
- the_display->composite_event_base = 0;
+ display->composite_error_base = 0;
+ display->composite_event_base = 0;
- if (!XCompositeQueryExtension (the_display->xdisplay,
- &the_display->composite_event_base,
- &the_display->composite_error_base))
+ if (!XCompositeQueryExtension (display->xdisplay,
+ &display->composite_event_base,
+ &display->composite_error_base))
{
- the_display->composite_error_base = 0;
- the_display->composite_event_base = 0;
+ display->composite_error_base = 0;
+ display->composite_event_base = 0;
}
else
{
- the_display->composite_major_version = 0;
- the_display->composite_minor_version = 0;
- if (XCompositeQueryVersion (the_display->xdisplay,
- &the_display->composite_major_version,
- &the_display->composite_minor_version))
+ display->composite_major_version = 0;
+ display->composite_minor_version = 0;
+ if (XCompositeQueryVersion (display->xdisplay,
+ &display->composite_major_version,
+ &display->composite_minor_version))
{
- the_display->have_composite = TRUE;
+ display->have_composite = TRUE;
}
else
{
- the_display->composite_major_version = 0;
- the_display->composite_minor_version = 0;
+ display->composite_major_version = 0;
+ display->composite_minor_version = 0;
}
}
meta_verbose ("Attempted to init Composite, found error base %d event base %d "
"extn ver %d %d\n",
- the_display->composite_error_base,
- the_display->composite_event_base,
- the_display->composite_major_version,
- the_display->composite_minor_version);
+ display->composite_error_base,
+ display->composite_event_base,
+ display->composite_major_version,
+ display->composite_minor_version);
- the_display->have_damage = FALSE;
+ display->have_damage = FALSE;
- the_display->damage_error_base = 0;
- the_display->damage_event_base = 0;
+ display->damage_error_base = 0;
+ display->damage_event_base = 0;
- if (!XDamageQueryExtension (the_display->xdisplay,
- &the_display->damage_event_base,
- &the_display->damage_error_base))
+ if (!XDamageQueryExtension (display->xdisplay,
+ &display->damage_event_base,
+ &display->damage_error_base))
{
- the_display->damage_error_base = 0;
- the_display->damage_event_base = 0;
+ display->damage_error_base = 0;
+ display->damage_event_base = 0;
}
else
- the_display->have_damage = TRUE;
+ display->have_damage = TRUE;
meta_verbose ("Attempted to init Damage, found error base %d event base %d\n",
- the_display->damage_error_base,
- the_display->damage_event_base);
+ display->damage_error_base,
+ display->damage_event_base);
- the_display->xfixes_error_base = 0;
- the_display->xfixes_event_base = 0;
+ display->xfixes_error_base = 0;
+ display->xfixes_event_base = 0;
- if (XFixesQueryExtension (the_display->xdisplay,
- &the_display->xfixes_event_base,
- &the_display->xfixes_error_base))
+ if (XFixesQueryExtension (display->xdisplay,
+ &display->xfixes_event_base,
+ &display->xfixes_error_base))
{
int xfixes_major, xfixes_minor;
- XFixesQueryVersion (the_display->xdisplay, &xfixes_major, &xfixes_minor);
+ XFixesQueryVersion (display->xdisplay, &xfixes_major, &xfixes_minor);
if (xfixes_major * 100 + xfixes_minor < 500)
meta_fatal ("Mutter requires XFixes 5.0");
@@ -728,21 +729,21 @@ meta_display_open (void)
}
meta_verbose ("Attempted to init XFixes, found error base %d event base %d\n",
- the_display->xfixes_error_base,
- the_display->xfixes_event_base);
+ display->xfixes_error_base,
+ display->xfixes_event_base);
}
{
int major = 2, minor = 3;
gboolean has_xi = FALSE;
- if (XQueryExtension (the_display->xdisplay,
+ if (XQueryExtension (display->xdisplay,
"XInputExtension",
- &the_display->xinput_opcode,
- &the_display->xinput_error_base,
- &the_display->xinput_event_base))
+ &display->xinput_opcode,
+ &display->xinput_error_base,
+ &display->xinput_event_base))
{
- if (XIQueryVersion (the_display->xdisplay, &major, &minor) == Success)
+ if (XIQueryVersion (display->xdisplay, &major, &minor) == Success)
{
int version = (major * 10) + minor;
if (version >= 22)
@@ -750,7 +751,7 @@ meta_display_open (void)
#ifdef HAVE_XI23
if (version >= 23)
- the_display->have_xinput_23 = TRUE;
+ display->have_xinput_23 = TRUE;
#endif /* HAVE_XI23 */
}
}
@@ -774,35 +775,35 @@ meta_display_open (void)
* this window, so we can't rely on it still being set later. See bug
* 354213 for details.
*/
- the_display->leader_window =
- meta_create_offscreen_window (the_display->xdisplay,
- DefaultRootWindow (the_display->xdisplay),
+ display->leader_window =
+ meta_create_offscreen_window (display->xdisplay,
+ DefaultRootWindow (display->xdisplay),
PropertyChangeMask);
- meta_prop_set_utf8_string_hint (the_display,
- the_display->leader_window,
- the_display->atom__NET_WM_NAME,
+ meta_prop_set_utf8_string_hint (display,
+ display->leader_window,
+ display->atom__NET_WM_NAME,
net_wm_name);
- meta_prop_set_utf8_string_hint (the_display,
- the_display->leader_window,
- the_display->atom__GNOME_WM_KEYBINDINGS,
+ meta_prop_set_utf8_string_hint (display,
+ display->leader_window,
+ display->atom__GNOME_WM_KEYBINDINGS,
gnome_wm_keybindings);
- meta_prop_set_utf8_string_hint (the_display,
- the_display->leader_window,
- the_display->atom__MUTTER_VERSION,
+ meta_prop_set_utf8_string_hint (display,
+ display->leader_window,
+ display->atom__MUTTER_VERSION,
VERSION);
- data[0] = the_display->leader_window;
- XChangeProperty (the_display->xdisplay,
- the_display->leader_window,
- the_display->atom__NET_SUPPORTING_WM_CHECK,
+ data[0] = display->leader_window;
+ XChangeProperty (display->xdisplay,
+ display->leader_window,
+ display->atom__NET_SUPPORTING_WM_CHECK,
XA_WINDOW,
32, PropModeReplace, (guchar*) data, 1);
- XWindowEvent (the_display->xdisplay,
- the_display->leader_window,
+ XWindowEvent (display->xdisplay,
+ display->leader_window,
PropertyChangeMask,
&event);
@@ -811,52 +812,52 @@ meta_display_open (void)
/* Make it painfully clear that we can't rely on PropertyNotify events on
* this window, as per bug 354213.
*/
- XSelectInput(the_display->xdisplay,
- the_display->leader_window,
+ XSelectInput(display->xdisplay,
+ display->leader_window,
NoEventMask);
}
/* Make a little window used only for pinging the server for timestamps; note
* that meta_create_offscreen_window already selects for PropertyChangeMask.
*/
- the_display->timestamp_pinging_window =
- meta_create_offscreen_window (the_display->xdisplay,
- DefaultRootWindow (the_display->xdisplay),
+ display->timestamp_pinging_window =
+ meta_create_offscreen_window (display->xdisplay,
+ DefaultRootWindow (display->xdisplay),
PropertyChangeMask);
- the_display->last_focus_time = timestamp;
- the_display->last_user_time = timestamp;
- the_display->compositor = NULL;
+ display->last_focus_time = timestamp;
+ display->last_user_time = timestamp;
+ display->compositor = NULL;
/* Mutter used to manage all X screens of the display in a single process, but
* now it always manages exactly one screen as specified by the DISPLAY
* environment variable.
*/
i = meta_ui_get_screen_number ();
- screen = meta_screen_new (the_display, i, timestamp);
+ screen = meta_screen_new (display, i, timestamp);
if (!screen)
{
/* This would typically happen because all the screens already
* have window managers.
*/
- meta_display_close (the_display, timestamp);
+ meta_display_close (display, timestamp);
return FALSE;
}
- the_display->screen = screen;
+ display->screen = screen;
meta_screen_init_workspaces (screen);
- enable_compositor (the_display);
+ enable_compositor (display);
meta_screen_create_guard_window (screen);
/* Set up touch support */
- the_display->gesture_tracker = meta_gesture_tracker_new ();
- g_signal_connect (the_display->gesture_tracker, "state-changed",
- G_CALLBACK (gesture_tracker_state_changed), the_display);
- meta_display_grab_window_touch (the_display, DefaultRootWindow (the_display->xdisplay));
+ display->gesture_tracker = meta_gesture_tracker_new ();
+ g_signal_connect (display->gesture_tracker, "state-changed",
+ G_CALLBACK (gesture_tracker_state_changed), display);
+ meta_display_grab_window_touch (display, DefaultRootWindow (display->xdisplay));
/* We know that if mutter is running as a Wayland compositor,
* we start out with no windows.
@@ -869,12 +870,12 @@ meta_display_open (void)
int ret_to;
/* kinda bogus because GetInputFocus has no possible errors */
- meta_error_trap_push (the_display);
+ meta_error_trap_push (display);
/* FIXME: This is totally broken; see comment 9 of bug 88194 about this */
focus = None;
ret_to = RevertToPointerRoot;
- XGetInputFocus (the_display->xdisplay, &focus, &ret_to);
+ XGetInputFocus (display->xdisplay, &focus, &ret_to);
/* Force a new FocusIn (does this work?) */
@@ -883,29 +884,29 @@ meta_display_open (void)
*/
if (focus == None || focus == PointerRoot)
/* Just focus the no_focus_window on the first screen */
- meta_display_focus_the_no_focus_window (the_display,
- the_display->screen,
+ meta_display_focus_the_no_focus_window (display,
+ display->screen,
timestamp);
else
{
MetaWindow * window;
- window = meta_display_lookup_x_window (the_display, focus);
+ window = meta_display_lookup_x_window (display, focus);
if (window)
- meta_display_set_input_focus_window (the_display, window, FALSE, timestamp);
+ meta_display_set_input_focus_window (display, window, FALSE, timestamp);
else
/* Just focus the no_focus_window on the first screen */
- meta_display_focus_the_no_focus_window (the_display,
- the_display->screen,
+ meta_display_focus_the_no_focus_window (display,
+ display->screen,
timestamp);
}
- meta_error_trap_pop (the_display);
+ meta_error_trap_pop (display);
}
meta_idle_monitor_init_dbus ();
/* Done opening new display */
- the_display->display_opening = FALSE;
+ display->display_opening = FALSE;
return TRUE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]