soc.2010.msn-tlc: bf7e29b2: Don't destroy our local object storing t...

masca at cpw.pidgin.im masca at cpw.pidgin.im
Thu Aug 5 22:01:12 EDT 2010


----------------------------------------------------------------------
Revision: bf7e29b2ecf213c264c20397026eb37d811e7432
Parent:   880736343f33bfdf6c756c8802d0b9e7e2911575
Author:   masca at cpw.pidgin.im
Date:     08/02/10 16:36:02
Branch:   im.pidgin.soc.2010.msn-tlc
URL: http://d.pidgin.im/viewmtn/revision/info/bf7e29b2ecf213c264c20397026eb37d811e7432

Changelog: 

Don't destroy our local object storing the display picture when a NLN command show us the same MsnObject.

Changes against parent 880736343f33bfdf6c756c8802d0b9e7e2911575

  patched  libpurple/protocols/msn/object.c
  patched  libpurple/protocols/msn/object.h
  patched  libpurple/protocols/msn/user.c

-------------- next part --------------
============================================================
--- libpurple/protocols/msn/user.c	1753ce4d747bdc5c085cb8287bc94d3a41828257
+++ libpurple/protocols/msn/user.c	a90484e793cfb83d04f0dd9f27b1ece42e5ed36f
@@ -577,7 +577,7 @@ msn_user_set_object(MsnUser *user, MsnOb
 {
 	g_return_if_fail(user != NULL);
 
-	if (user->msnobj != NULL)
+	if (user->msnobj != NULL && !msn_object_find_local(msn_object_get_sha1(obj)))
 		msn_object_destroy(user->msnobj);
 
 	user->msnobj = obj;
============================================================
--- libpurple/protocols/msn/object.c	0f2aece179ef8451e397f8243b64eec2e8bfab43
+++ libpurple/protocols/msn/object.c	9e3bcf3d32aedeab5f490e7fb28f0ea172a5f7e0
@@ -352,7 +352,7 @@ msn_object_get_sha1(const MsnObject *obj
 	}
 }
 
-static MsnObject *
+MsnObject *
 msn_object_find_local(const char *sha1)
 {
 	GList *l;
============================================================
--- libpurple/protocols/msn/object.h	f5a5dae07ab4241782ca9e84c8e5e6f9f85924a4
+++ libpurple/protocols/msn/object.h	32a582d8c0f8eb4b8c5f9127dacd14a378ae0a8b
@@ -235,6 +235,8 @@ PurpleStoredImage *msn_object_get_image(
  */
 PurpleStoredImage *msn_object_get_image(const MsnObject *obj);
 
+MsnObject * msn_object_find_local(const char *sha1);
+
 void msn_object_set_local(MsnObject *obj);
 
 #endif /* MSN_OBJECT_H */


More information about the Commits mailing list