summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pgtkfns.c2
-rw-r--r--src/xsettings.c15
2 files changed, 11 insertions, 6 deletions
diff --git a/src/pgtkfns.c b/src/pgtkfns.c
index e1766d2b1a6..ec708af374c 100644
--- a/src/pgtkfns.c
+++ b/src/pgtkfns.c
@@ -1902,6 +1902,8 @@ parse_resource_key (const char *res_key, char *setting_key)
/* check existence of setting_key */
GSettingsSchemaSource *ssrc = g_settings_schema_source_get_default ();
+ if (ssrc == NULL)
+ return NULL; /* No GSettings schemas installed. */
GSettingsSchema *scm = g_settings_schema_source_lookup (ssrc, SCHEMA_ID, TRUE);
if (!scm)
return NULL; /* *.schema.xml is not installed. */
diff --git a/src/xsettings.c b/src/xsettings.c
index 71cd6a9ad6c..3c4aff18fa2 100644
--- a/src/xsettings.c
+++ b/src/xsettings.c
@@ -1100,12 +1100,15 @@ init_gsettings (void)
#if GLIB_CHECK_VERSION (2, 32, 0)
{
- GSettingsSchema *sc = g_settings_schema_source_lookup
- (g_settings_schema_source_get_default (),
- GSETTINGS_SCHEMA,
- true);
- schema_found = sc != NULL;
- if (sc) g_settings_schema_unref (sc);
+ GSettingsSchemaSource *source = g_settings_schema_source_get_default
+ ();
+ if (source != NULL)
+ {
+ GSettingsSchema *sc = g_settings_schema_source_lookup
+ (source, GSETTINGS_SCHEMA, true);
+ schema_found = sc != NULL;
+ if (sc) g_settings_schema_unref (sc);
+ }
}
#else
{