diff options
author | Colin Walters <walters@verbum.org> | 2013-03-23 13:51:24 -0400 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2013-03-23 17:07:15 -0400 |
commit | d6b4e849578910a354f671d8de09616af7f3ebe1 (patch) | |
tree | a026d3f734434245e835ebcc41fd343048d3bf81 /gdk/gdkdisplaymanager.c | |
parent | 564b4e667a046ff1e3eadff8de465496746a24ee (diff) | |
download | gtk+-d6b4e849578910a354f671d8de09616af7f3ebe1.tar.gz |
gdkkeys: Avoid instantiating a display manager if none exists
For introspection scanning which ends up calling class_init() which in
turn calls into the keybindings code, we can just use the fallback
keyval conversion code.
https://bugzilla.gnome.org/show_bug.cgi?id=696457
Diffstat (limited to 'gdk/gdkdisplaymanager.c')
-rw-r--r-- | gdk/gdkdisplaymanager.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c index e29fa511b5..b15aeb0afb 100644 --- a/gdk/gdkdisplaymanager.c +++ b/gdk/gdkdisplaymanager.c @@ -267,6 +267,8 @@ gdk_set_allowed_backends (const gchar *backends) allowed_backends = g_strdup (backends); } +static GdkDisplayManager *manager = NULL; + /** * gdk_display_manager_get: * @@ -287,8 +289,6 @@ gdk_set_allowed_backends (const gchar *backends) GdkDisplayManager* gdk_display_manager_get (void) { - static GdkDisplayManager *manager = NULL; - if (manager == NULL) { const gchar *backend_list; @@ -381,6 +381,15 @@ gdk_display_manager_get (void) return manager; } +/* Used for cases where we don't actually want to instantiate a + * display manager if none exists. Internal only. + */ +GdkDisplayManager * +_gdk_display_manager_get_nocreate (void) +{ + return manager; +} + /** * gdk_display_manager_get_default_display: * @manager: a #GdkDisplayManager |