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 {