changeset 30861:4445ae4215b8

Don't destroy our local object storing the display picture when a NLN command show us the same MsnObject.
author masca@cpw.pidgin.im
date Mon, 02 Aug 2010 20:36:02 +0000
parents b9c80d9c2ae5
children 5ad928319db0
files libpurple/protocols/msn/object.c libpurple/protocols/msn/object.h libpurple/protocols/msn/user.c
diffstat 3 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/msn/object.c	Fri Jul 30 18:21:59 2010 +0000
+++ b/libpurple/protocols/msn/object.c	Mon Aug 02 20:36:02 2010 +0000
@@ -352,7 +352,7 @@
 	}
 }
 
-static MsnObject *
+MsnObject *
 msn_object_find_local(const char *sha1)
 {
 	GList *l;
--- a/libpurple/protocols/msn/object.h	Fri Jul 30 18:21:59 2010 +0000
+++ b/libpurple/protocols/msn/object.h	Mon Aug 02 20:36:02 2010 +0000
@@ -235,6 +235,8 @@
  */
 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 */
--- a/libpurple/protocols/msn/user.c	Fri Jul 30 18:21:59 2010 +0000
+++ b/libpurple/protocols/msn/user.c	Mon Aug 02 20:36:02 2010 +0000
@@ -577,7 +577,7 @@
 {
 	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;