aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libempathy-gtk/empathy-ui-utils.c1
-rw-r--r--libempathy/empathy-chatroom-manager.c6
-rw-r--r--libempathy/empathy-dispatch-operation.c5
-rw-r--r--libempathy/empathy-dispatcher.c4
-rw-r--r--libempathy/empathy-tp-chat.c3
-rw-r--r--libempathy/empathy-utils.c2
-rw-r--r--src/empathy-event-manager.c3
-rw-r--r--src/empathy-tube-dispatch.c5
-rw-r--r--src/empathy.c8
9 files changed, 7 insertions, 30 deletions
diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c
index 7e16fd6e0..effeb7a01 100644
--- a/libempathy-gtk/empathy-ui-utils.c
+++ b/libempathy-gtk/empathy-ui-utils.c
@@ -1443,7 +1443,6 @@ file_manager_send_file_request_cb (EmpathyDispatchOperation *operation,
empathy_tp_file_offer (tp_file, file, NULL);
g_object_unref (file);
- g_object_unref (tp_file);
}
static void
diff --git a/libempathy/empathy-chatroom-manager.c b/libempathy/empathy-chatroom-manager.c
index 282d7ed71..0a637a440 100644
--- a/libempathy/empathy-chatroom-manager.c
+++ b/libempathy/empathy-chatroom-manager.c
@@ -701,7 +701,7 @@ chatroom_manager_observe_channel_cb (EmpathyDispatcher *dispatcher,
tp_channel_get_handle (channel, &handle_type);
if (handle_type != TP_HANDLE_TYPE_ROOM)
- goto out;
+ return;
chat = EMPATHY_TP_CHAT (
empathy_dispatch_operation_get_channel_wrapper (operation));
@@ -724,10 +724,6 @@ chatroom_manager_observe_channel_cb (EmpathyDispatcher *dispatcher,
g_signal_connect (chat, "destroy",
G_CALLBACK (chatroom_manager_chat_destroyed_cb),
manager);
-
- g_object_unref (chat);
-out:
- g_object_unref (channel);
}
void
diff --git a/libempathy/empathy-dispatch-operation.c b/libempathy/empathy-dispatch-operation.c
index c623dbfd2..def9e43e1 100644
--- a/libempathy/empathy-dispatch-operation.c
+++ b/libempathy/empathy-dispatch-operation.c
@@ -526,7 +526,7 @@ empathy_dispatch_operation_get_channel (EmpathyDispatchOperation *operation)
priv = GET_PRIV (operation);
- return TP_CHANNEL (g_object_ref (priv->channel));
+ return priv->channel;
}
GObject *
@@ -539,9 +539,6 @@ empathy_dispatch_operation_get_channel_wrapper (
priv = GET_PRIV (operation);
- if (priv->channel_wrapper != NULL)
- g_object_ref (priv->channel_wrapper);
-
return priv->channel_wrapper;
}
diff --git a/libempathy/empathy-dispatcher.c b/libempathy/empathy-dispatcher.c
index 0d67336c7..bde8b6a1a 100644
--- a/libempathy/empathy-dispatcher.c
+++ b/libempathy/empathy-dispatcher.c
@@ -118,8 +118,8 @@ static DispatchData *
new_dispatch_data (TpChannel *channel, GObject *channel_wrapper)
{
DispatchData *d = g_slice_new0 (DispatchData);
- d->channel = channel;
- d->channel_wrapper = channel_wrapper;
+ d->channel = g_object_ref (channel);
+ d->channel_wrapper = g_object_ref (channel_wrapper);
return d;
}
diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c
index 57e3277eb..bfcdd1a4c 100644
--- a/libempathy/empathy-tp-chat.c
+++ b/libempathy/empathy-tp-chat.c
@@ -1053,7 +1053,7 @@ tp_chat_set_property (GObject *object,
switch (param_id) {
case PROP_CHANNEL:
- priv->channel = g_object_ref (g_value_get_object (value));
+ priv->channel = g_value_dup_object (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
@@ -1187,6 +1187,7 @@ empathy_tp_chat_close (EmpathyTpChat *chat) {
We loose the ordering of sent messages though */
g_signal_handlers_disconnect_by_func (priv->channel,
tp_chat_invalidated_cb, chat);
+
tp_cli_channel_call_close (priv->channel, -1, tp_chat_async_cb,
"closing channel", NULL, NULL);
diff --git a/libempathy/empathy-utils.c b/libempathy/empathy-utils.c
index 754526608..4fc12085a 100644
--- a/libempathy/empathy-utils.c
+++ b/libempathy/empathy-utils.c
@@ -470,8 +470,6 @@ empathy_call_request_cb (EmpathyDispatchOperation *operation,
empathy_dispatch_operation_get_channel_wrapper (operation));
empathy_tp_call_to (call, contact);
-
- g_object_unref (call);
}
g_object_unref (contact);
diff --git a/src/empathy-event-manager.c b/src/empathy-event-manager.c
index 53c3b84d9..3c7541c82 100644
--- a/src/empathy-event-manager.c
+++ b/src/empathy-event-manager.c
@@ -381,7 +381,6 @@ event_manager_approve_channel_cb (EmpathyDispatcher *dispatcher,
g_signal_connect (tp_chat, "message-received",
G_CALLBACK (event_manager_chat_message_received_cb), approval);
- g_object_unref (G_OBJECT (tp_chat));
}
else if (!tp_strdiff (channel_type, TP_IFACE_CHANNEL_TYPE_STREAMED_MEDIA))
@@ -430,7 +429,6 @@ event_manager_approve_channel_cb (EmpathyDispatcher *dispatcher,
event_manager_add (manager, contact, EMPATHY_IMAGE_DOCUMENT_SEND,
msg, approval, event_channel_process_func, NULL);
- g_object_unref (channel);
g_object_unref (factory);
g_object_unref (account);
}
@@ -461,7 +459,6 @@ event_manager_approve_channel_cb (EmpathyDispatcher *dispatcher,
EMPATHY_CONTACT_READY_NAME, event_manager_tube_got_contact_name_cb,
approval);
- g_object_unref (channel);
g_object_unref (factory);
g_object_unref (account);
}
diff --git a/src/empathy-tube-dispatch.c b/src/empathy-tube-dispatch.c
index 31775a6d3..0392b118d 100644
--- a/src/empathy-tube-dispatch.c
+++ b/src/empathy-tube-dispatch.c
@@ -161,8 +161,6 @@ empathy_tube_dispatch_constructed (GObject *object)
tp_cli_dbus_daemon_call_name_has_owner (priv->dbus, -1, priv->bus_name,
empathy_tube_dispatch_name_has_owner_cb, NULL, NULL, G_OBJECT (self));
-
- g_object_unref (channel);
return;
failed:
@@ -359,7 +357,6 @@ empathy_tube_do_dispatch (EmpathyTubeDispatch *self)
channel = empathy_dispatch_operation_get_channel (priv->operation);
-
/* Create the proxy for the tube handler */
thandler = g_object_new (TP_TYPE_PROXY,
"dbus-connection", tp_get_bus (),
@@ -382,7 +379,6 @@ empathy_tube_do_dispatch (EmpathyTubeDispatch *self)
object_path, handle_type, handle,
empathy_tube_dispatch_handle_tube_cb, NULL, NULL, G_OBJECT (self));
- g_object_unref (channel);
g_object_unref (thandler);
g_object_unref (connection);
g_free (object_path);
@@ -416,7 +412,6 @@ empathy_tube_dispatch_handle (EmpathyTubeDispatch *tube_dispatch)
g_free (msg);
tp_cli_channel_call_close (channel, -1, NULL, NULL, NULL, NULL);
- g_object_unref (channel);
goto done;
}
diff --git a/src/empathy.c b/src/empathy.c
index 5da2b2529..15e233d24 100644
--- a/src/empathy.c
+++ b/src/empathy.c
@@ -102,7 +102,6 @@ dispatch_cb (EmpathyDispatcher *dispatcher,
}
empathy_chat_window_present_chat (chat);
- g_object_unref (tp_chat);
empathy_dispatch_operation_claim (operation);
} else if (channel_type == TP_IFACE_QUARK_CHANNEL_TYPE_STREAMED_MEDIA) {
@@ -114,11 +113,7 @@ dispatch_cb (EmpathyDispatcher *dispatcher,
empathy_dispatch_operation_claim (operation);
empathy_call_window_new (call);
-
- g_object_unref (call);
-
- }
- else if (channel_type == EMP_IFACE_QUARK_CHANNEL_TYPE_FILE_TRANSFER) {
+ } else if (channel_type == EMP_IFACE_QUARK_CHANNEL_TYPE_FILE_TRANSFER) {
EmpathyFTManager *ft_manager;
EmpathyTpFile *tp_file;
@@ -126,7 +121,6 @@ dispatch_cb (EmpathyDispatcher *dispatcher,
tp_file = EMPATHY_TP_FILE (
empathy_dispatch_operation_get_channel_wrapper (operation));
empathy_ft_manager_add_tp_file (ft_manager, tp_file);
- g_object_unref (tp_file);
empathy_dispatch_operation_claim (operation);
}
}