summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2014-12-21 23:14:02 -0500
committerMatthias Clasen <mclasen@redhat.com>2015-01-10 21:25:26 -0500
commit0da9ef623396075622ff30e47aa655a17cf07eba (patch)
tree58deecd0a9ea69bb4fda7745de468431a07718d4
parentf42f12e77525e832c201f6f45789a22f351a81ba (diff)
downloadgtk+-0da9ef623396075622ff30e47aa655a17cf07eba.tar.gz
GtkRecentManager: Allow instantiating without gtk_init
This apparently used to work, and it doesn't do harm to allow it. https://bugzilla.gnome.org/show_bug.cgi?id=705582
-rw-r--r--gtk/gtkrecentmanager.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/gtk/gtkrecentmanager.c b/gtk/gtkrecentmanager.c
index 99aa23825b..b239cfce35 100644
--- a/gtk/gtkrecentmanager.c
+++ b/gtk/gtkrecentmanager.c
@@ -346,8 +346,9 @@ gtk_recent_manager_init (GtkRecentManager *manager)
priv->filename = NULL;
settings = gtk_settings_get_default ();
- g_signal_connect_swapped (settings, "notify::gtk-recent-files-enabled",
- G_CALLBACK (gtk_recent_manager_enabled_changed), manager);
+ if (settings)
+ g_signal_connect_swapped (settings, "notify::gtk-recent-files-enabled",
+ G_CALLBACK (gtk_recent_manager_enabled_changed), manager);
}
static void
@@ -470,14 +471,21 @@ gtk_recent_manager_real_changed (GtkRecentManager *manager)
}
else
{
- GtkSettings *settings = gtk_settings_get_default ();
- gint age = 30;
+ GtkSettings *settings;
+ gint age;
gboolean enabled;
- g_object_get (G_OBJECT (settings),
- "gtk-recent-files-max-age", &age,
- "gtk-recent-files-enabled", &enabled,
- NULL);
+ settings = gtk_settings_get_default ();
+ if (settings)
+ g_object_get (G_OBJECT (settings),
+ "gtk-recent-files-max-age", &age,
+ "gtk-recent-files-enabled", &enabled,
+ NULL);
+ else
+ {
+ age = 30;
+ enabled = TRUE;
+ }
if (age == 0 || !enabled)
{