diff options
author | Ted Gould <ted@gould.cx> | 2012-03-07 14:11:47 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2012-03-07 14:11:47 -0600 |
commit | e34b660a8e7477cc0bb120f062074c6e079efa39 (patch) | |
tree | 1dd5457ac7bdab516bd7aa9aa2bc90cb70e84ca1 /libindicator | |
parent | c83d72a33f81a3aad6c85971b81caeceeb0834dd (diff) | |
parent | 67872e2808a7c4f4d414822198e4a3f951bdf411 (diff) | |
download | libayatana-indicator-e34b660a8e7477cc0bb120f062074c6e079efa39.tar.gz libayatana-indicator-e34b660a8e7477cc0bb120f062074c6e079efa39.tar.bz2 libayatana-indicator-e34b660a8e7477cc0bb120f062074c6e079efa39.zip |
* New upstream release.
* Fix branching past initialization of variables (LP: #939061)
* Support new FD.o Desktop Actions (LP: #942042)
* Fix valgrind error on unload (LP: #719457)
Diffstat (limited to 'libindicator')
-rw-r--r-- | libindicator/indicator-object.c | 11 | ||||
-rw-r--r-- | libindicator/indicator-service.c | 4 |
2 files changed, 6 insertions, 9 deletions
diff --git a/libindicator/indicator-object.c b/libindicator/indicator-object.c index 17a6d1d..ca821af 100644 --- a/libindicator/indicator-object.c +++ b/libindicator/indicator-object.c @@ -464,21 +464,16 @@ indicator_object_new_from_file (const gchar * file) goto unrefandout; } - IndicatorObjectPrivate * priv = INDICATOR_OBJECT_GET_PRIVATE(object); /* Now we can track the module */ - priv->module = module; + INDICATOR_OBJECT_GET_PRIVATE(object)->module = module; return INDICATOR_OBJECT(object); /* Error, let's drop the object and return NULL. Sad when this happens. */ unrefandout: - if (object != NULL) { - g_object_unref(object); - } - if (module != NULL) { - g_object_unref(module); - } + g_clear_object (&object); + g_clear_object (&module); g_warning("Error building IndicatorObject from file: %s", file); return NULL; } diff --git a/libindicator/indicator-service.c b/libindicator/indicator-service.c index e9f3133..11171fc 100644 --- a/libindicator/indicator-service.c +++ b/libindicator/indicator-service.c @@ -588,7 +588,9 @@ unwatch_core (IndicatorService * service, const gchar * name) /* Remove us from the watcher list here */ gpointer watcher_item = g_hash_table_lookup(priv->watchers, name); if (watcher_item != NULL) { - g_hash_table_remove(priv->watchers, name); + gchar * safe_name = g_strdup(name); + g_hash_table_remove(priv->watchers, safe_name); + g_free(safe_name); } else { /* Odd that we couldn't find the person, but, eh */ g_warning("Unable to find watcher who is unwatching: %s", name); |