# HG changeset patch # User masca@cpw.pidgin.im # Date 1280781362 0 # Node ID 4445ae4215b8ec1e4a3063a59a957ccc37e72c6f # Parent b9c80d9c2ae5e8df9b2ee8a439587fc3876dac5c Don't destroy our local object storing the display picture when a NLN command show us the same MsnObject. diff -r b9c80d9c2ae5 -r 4445ae4215b8 libpurple/protocols/msn/object.c --- 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; diff -r b9c80d9c2ae5 -r 4445ae4215b8 libpurple/protocols/msn/object.h --- 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 */ diff -r b9c80d9c2ae5 -r 4445ae4215b8 libpurple/protocols/msn/user.c --- 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;