--- a/compizconfig/gsettings/src/gsettings.c +++ b/compizconfig/gsettings/src/gsettings.c @@ -423,13 +423,19 @@ static void updateSetting (CCSBackend *backend, CCSContext *context, CCSPlugin *plugin, CCSSetting *setting) { + Bool status; CCSIntegratedSetting *integrated = ccsGSettingsBackendGetIntegratedSetting (backend, setting); - ccsBackendReadInit (backend, context); - if (!readOption (backend, setting)) + if (ccsGetIntegrationEnabled (context) && + integrated) { - ccsResetToDefault (setting, TRUE); + status = readIntegratedOption (backend, setting, integrated); } + else + status = readOption (backend, setting); + + if (!status) + ccsResetToDefault (setting, TRUE); if (ccsGetIntegrationEnabled (context) && integrated) --- a/compizconfig/integration/gnome/gsettings/src/ccs_gnome_integration_gsettings_integrated_setting.c +++ b/compizconfig/integration/gnome/gsettings/src/ccs_gnome_integration_gsettings_integrated_setting.c @@ -244,8 +244,6 @@ /* g_settings_set_value consumes the reference */ if (newVariant) ccsGSettingsWrapperSetValue (priv->wrapper, gsettingsTranslatedName, newVariant); - else - ccsGSettingsWrapperResetKey (priv->wrapper, gsettingsTranslatedName); g_variant_unref (variant); free (gsettingsTranslatedName);