aboutsummaryrefslogtreecommitdiff
path: root/libindicator
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2012-03-07 14:11:47 -0600
committerTed Gould <ted@gould.cx>2012-03-07 14:11:47 -0600
commite34b660a8e7477cc0bb120f062074c6e079efa39 (patch)
tree1dd5457ac7bdab516bd7aa9aa2bc90cb70e84ca1 /libindicator
parentc83d72a33f81a3aad6c85971b81caeceeb0834dd (diff)
parent67872e2808a7c4f4d414822198e4a3f951bdf411 (diff)
downloadlibayatana-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.c11
-rw-r--r--libindicator/indicator-service.c4
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);