summaryrefslogtreecommitdiff
path: root/gdk/gdkdisplaymanager.c
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2013-03-23 13:51:24 -0400
committerColin Walters <walters@verbum.org>2013-03-23 17:07:15 -0400
commitd6b4e849578910a354f671d8de09616af7f3ebe1 (patch)
treea026d3f734434245e835ebcc41fd343048d3bf81 /gdk/gdkdisplaymanager.c
parent564b4e667a046ff1e3eadff8de465496746a24ee (diff)
downloadgtk+-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.c13
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