aboutsummaryrefslogtreecommitdiff
path: root/libindicate/listener.c
diff options
context:
space:
mode:
Diffstat (limited to 'libindicate/listener.c')
-rw-r--r--libindicate/listener.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/libindicate/listener.c b/libindicate/listener.c
index 74cf960..e4fe68f 100644
--- a/libindicate/listener.c
+++ b/libindicate/listener.c
@@ -332,12 +332,12 @@ dbus_owner_change (DBusGProxy * proxy, const gchar * name, const gchar * prev, c
proxyt_item = g_list_find_custom(priv->proxies_working, &searchitem, proxy_t_equal);
if (proxyt_item != NULL) {
proxy_struct_destroy((proxy_t *)proxyt_item->data);
- priv->proxies_working = g_list_remove(priv->proxies_working, proxyt_item);
+ priv->proxies_working = g_list_remove(priv->proxies_working, proxyt_item->data);
}
proxyt_item = g_list_find_custom(priv->proxies_possible, &searchitem, proxy_t_equal);
if (proxyt_item != NULL) {
proxy_struct_destroy((proxy_t *)proxyt_item->data);
- priv->proxies_possible = g_list_remove(priv->proxies_possible, proxyt_item);
+ priv->proxies_possible = g_list_remove(priv->proxies_possible, proxyt_item->data);
}
}
@@ -379,11 +379,11 @@ proxy_struct_destroy (gpointer data)
proxy_data->indicators = NULL;
}
- if (proxy_data->property_proxy) {
+ if (DBUS_IS_G_PROXY(proxy_data->property_proxy)) {
g_object_unref(G_OBJECT(proxy_data->property_proxy));
}
- if (proxy_data->proxy) {
+ if (DBUS_IS_G_PROXY(proxy_data->proxy)) {
g_object_unref(G_OBJECT(proxy_data->proxy));
}
@@ -496,7 +496,7 @@ todo_idle (gpointer data)
dbus_g_proxy_connect_signal(proxyt->proxy, "ServerShow",
G_CALLBACK(proxy_server_added), proxyt, NULL);
- priv->proxies_possible = g_list_append(priv->proxies_possible, proxyt);
+ priv->proxies_possible = g_list_prepend(priv->proxies_possible, proxyt);
/* I think that we need to have this as there is a race
* condition here. If someone comes on the bus and we get
@@ -581,9 +581,9 @@ proxy_server_added (DBusGProxy * proxy, const gchar * type, proxy_t * proxyt)
GList * proxyt_item;
proxyt_item = g_list_find_custom(priv->proxies_possible, proxyt, proxy_t_equal);
if (proxyt_item != NULL) {
- priv->proxies_possible = g_list_remove(priv->proxies_possible, proxyt_item);
+ priv->proxies_possible = g_list_remove(priv->proxies_possible, proxyt_item->data);
}
- priv->proxies_working = g_list_append(priv->proxies_working, proxyt);
+ priv->proxies_working = g_list_prepend(priv->proxies_working, proxyt);
dbus_g_proxy_add_signal(proxyt->proxy, "IndicatorAdded",
G_TYPE_UINT, G_TYPE_STRING, G_TYPE_INVALID);
@@ -959,6 +959,7 @@ indicate_listener_server_get_desktop (IndicateListener * listener, IndicateListe
const gchar *
indicate_listener_server_get_dbusname (IndicateListenerServer * server)
{
+ if (server == NULL) return NULL;
return server->name;
}