libpurple/protocols/sametime/sametime.c

changeset 33892
ef97228bc5f0
parent 33796
4854740e5277
child 34148
62a874e41930
--- a/libpurple/protocols/sametime/sametime.c	Sun Apr 14 21:45:09 2013 +0200
+++ b/libpurple/protocols/sametime/sametime.c	Mon Apr 15 00:48:17 2013 +0200
@@ -433,13 +433,10 @@
 
 static void mw_session_io_close(struct mwSession *session) {
   struct mwPurplePluginData *pd;
-  PurpleConnection *gc;
 
   pd = mwSession_getClientData(session);
   g_return_if_fail(pd != NULL);
 
-  gc = pd->gc;
-
   if(pd->outpa) {
     purple_input_remove(pd->outpa);
     pd->outpa = 0;
@@ -1337,13 +1334,11 @@
 static void blist_node_menu_cb(PurpleBlistNode *node,
                                GList **menu, struct mwPurplePluginData *pd) {
   const char *owner;
-  PurpleGroup *group;
   PurpleAccount *acct;
   PurpleMenuAction *act;
 
   /* we only want groups */
   if(! PURPLE_BLIST_NODE_IS_GROUP(node)) return;
-  group = (PurpleGroup *) node;
 
   acct = purple_connection_get_account(pd->gc);
   g_return_if_fail(acct != NULL);
@@ -1354,6 +1349,7 @@
 #if 0
   /* if there's anyone in the group for this acct, offer to invite
      them all to a conference */
+  group = (PurpleGroup *) node;
   if(purple_group_on_account(group, acct)) {
     act = purple_menu_action_new(_("Invite Group to Conference..."),
                                PURPLE_CALLBACK(blist_menu_group_invite),
@@ -2026,21 +2022,12 @@
 static void mw_conf_peer_joined(struct mwConference *conf,
 				struct mwLoginInfo *peer) {
 
-  struct mwServiceConference *srvc;
-  struct mwSession *session;
-  struct mwPurplePluginData *pd;
-  PurpleConnection *gc;
   PurpleConvChat *g_conf;
 
   const char *n = mwConference_getName(conf);
 
   DEBUG_INFO("%s joined conf %s\n", NSTR(peer->user_id), NSTR(n));
 
-  srvc = mwConference_getService(conf);
-  session = mwService_getSession(MW_SERVICE(srvc));
-  pd = mwSession_getClientData(session);
-  gc = pd->gc;
-
   g_conf = mwConference_getClientData(conf);
   g_return_if_fail(g_conf != NULL);
 
@@ -2052,21 +2039,12 @@
 static void mw_conf_peer_parted(struct mwConference *conf,
 				struct mwLoginInfo *peer) {
 
-  struct mwServiceConference *srvc;
-  struct mwSession *session;
-  struct mwPurplePluginData *pd;
-  PurpleConnection *gc;
   PurpleConvChat *g_conf;
 
   const char *n = mwConference_getName(conf);
 
   DEBUG_INFO("%s left conf %s\n", NSTR(peer->user_id), NSTR(n));
 
-  srvc = mwConference_getService(conf);
-  session = mwService_getSession(MW_SERVICE(srvc));
-  pd = mwSession_getClientData(session);
-  gc = pd->gc;
-
   g_conf = mwConference_getClientData(conf);
   g_return_if_fail(g_conf != NULL);
 
@@ -3052,21 +3030,12 @@
 
 static void mw_place_peerJoined(struct mwPlace *place,
 				const struct mwIdBlock *peer) {
-  struct mwServicePlace *srvc;
-  struct mwSession *session;
-  struct mwPurplePluginData *pd;
-  PurpleConnection *gc;
   PurpleConversation *gconf;
 
   const char *n = mwPlace_getName(place);
 
   DEBUG_INFO("%s joined place %s\n", NSTR(peer->user), NSTR(n));
 
-  srvc = mwPlace_getService(place);
-  session = mwService_getSession(MW_SERVICE(srvc));
-  pd = mwSession_getClientData(session);
-  gc = pd->gc;
-
   gconf = mwPlace_getClientData(place);
   g_return_if_fail(gconf != NULL);
 
@@ -3077,21 +3046,12 @@
 
 static void mw_place_peerParted(struct mwPlace *place,
 				const struct mwIdBlock *peer) {
-  struct mwServicePlace *srvc;
-  struct mwSession *session;
-  struct mwPurplePluginData *pd;
-  PurpleConnection *gc;
   PurpleConversation *gconf;
 
   const char *n = mwPlace_getName(place);
 
   DEBUG_INFO("%s left place %s\n", NSTR(peer->user), NSTR(n));
 
-  srvc = mwPlace_getService(place);
-  session = mwService_getSession(MW_SERVICE(srvc));
-  pd = mwSession_getClientData(session);
-  gc = pd->gc;
-
   gconf = mwPlace_getClientData(place);
   g_return_if_fail(gconf != NULL);
 
@@ -5041,6 +5001,7 @@
   const char *filename;
   gsize filesize;
   FILE *fp;
+  char *remote_user = NULL;
 
   struct mwIdBlock idb = { NULL, NULL };
 
@@ -5051,9 +5012,11 @@
   pd = purple_connection_get_protocol_data(gc);
   srvc = pd->srvc_ft;
 
+  remote_user = g_strdup(purple_xfer_get_remote_user(xfer));
+
   filename = purple_xfer_get_local_filename(xfer);
   filesize = purple_xfer_get_size(xfer);
-  idb.user = purple_xfer_get_remote_user(xfer);
+  idb.user = remote_user;
 
   purple_xfer_update_progress(xfer);
 
@@ -5064,6 +5027,7 @@
 				filename, g_strerror(errno));
     purple_xfer_error(purple_xfer_get_type(xfer), acct, purple_xfer_get_remote_user(xfer), msg);
     g_free(msg);
+    g_free(remote_user);
     return;
   }
   fclose(fp);
@@ -5080,6 +5044,7 @@
   purple_xfer_set_protocol_data(xfer, ft);
 
   mwFileTransfer_offer(ft);
+  g_free(remote_user);
 }
 
 

mercurial