diff pidgin/gtkmedia.c @ 26466:bea334b214fa

Add purple_media_is_initiator.
author Mike Ruprecht <maiku@soc.pidgin.im>
date Tue, 31 Mar 2009 01:38:50 +0000
parents f42892982e30
children 24feaf9cfbf1
line wrap: on
line diff
--- a/pidgin/gtkmedia.c	Mon Mar 30 23:50:44 2009 +0000
+++ b/pidgin/gtkmedia.c	Tue Mar 31 01:38:50 2009 +0000
@@ -586,7 +586,6 @@
 {
 	GstElement *pipeline = purple_media_get_pipeline(media);
 	GtkWidget *send_widget = NULL, *recv_widget = NULL;
-	gboolean is_initiator;
 	PurpleMediaSessionType type =
 			purple_media_get_session_type(media, sid);
 
@@ -727,9 +726,7 @@
 	if (recv_widget != NULL)
 		gtkmedia->priv->recv_widget = recv_widget;
 
-	g_object_get(G_OBJECT(media), "initiator", &is_initiator, NULL);
-
-	if (is_initiator == FALSE) {
+	if (purple_media_is_initiator(media, sid, NULL) == FALSE) {
 		if (gtkmedia->priv->timeout_id != 0)
 			g_source_remove(gtkmedia->priv->timeout_id);
 		gtkmedia->priv->request_type |= type;
@@ -799,15 +796,13 @@
 	switch (prop_id) {
 		case PROP_MEDIA:
 		{
-			gboolean initiator;
 			if (media->priv->media)
 				g_object_unref(media->priv->media);
 			media->priv->media = g_value_get_object(value);
 			g_object_ref(media->priv->media);
 
-			g_object_get(G_OBJECT(media->priv->media),
-					"initiator", &initiator, NULL);
-			if (initiator == TRUE)
+			if (purple_media_is_initiator(media->priv->media,
+					 NULL, NULL) == TRUE)
 				pidgin_media_set_state(media, PIDGIN_MEDIA_WAITING);
 			else
 				pidgin_media_set_state(media, PIDGIN_MEDIA_REQUESTED);
@@ -893,7 +888,6 @@
 {
 	PidginMedia *gtkmedia = PIDGIN_MEDIA(
 			pidgin_media_new(media, screenname));
-	gboolean initiator;
 	PurpleBuddy *buddy = purple_find_buddy(
 			purple_connection_get_account(pc), screenname);
 	const gchar *alias = buddy ? 
@@ -901,8 +895,7 @@
 	gtkmedia->priv->pc = pc;
 	gtk_window_set_title(GTK_WINDOW(gtkmedia), alias);
 
-	g_object_get(G_OBJECT(media), "initiator", &initiator, NULL);
-	if (initiator == TRUE)
+	if (purple_media_is_initiator(media, NULL, NULL) == TRUE)
 		gtk_widget_show(GTK_WIDGET(gtkmedia));
 
 	return TRUE;