soc.2009.telepathy: a3266b5d: Fixed crash when removing non-Telepathy ...

sttwister at gmail.com sttwister at gmail.com
Mon Aug 10 08:31:39 EDT 2009


-----------------------------------------------------------------
Revision: a3266b5dd4a52811c4d7c65b838d8c65b25700a2
Ancestor: 661e3019377ced12ed691701e777b2c0328307aa
Author: sttwister at gmail.com
Date: 2009-08-10T10:59:57
Branch: im.pidgin.soc.2009.telepathy
URL: http://d.pidgin.im/viewmtn/revision/info/a3266b5dd4a52811c4d7c65b838d8c65b25700a2

Modified files:
        libpurple/protocols/telepathy/telepathy_account.c

ChangeLog: 

Fixed crash when removing non-Telepathy account

-------------- next part --------------
============================================================
--- libpurple/protocols/telepathy/telepathy_account.c	2aab2305e53300fca6d0ddc5b79e616915c1d071
+++ libpurple/protocols/telepathy/telepathy_account.c	abd924a270d877a1a06f28becf54b3d28e29c008
@@ -636,11 +636,17 @@ purple_account_removed_cb (PurpleAccount
 {
 	telepathy_account *account_data;
 
-	purple_debug_info("telepathy", "PurpleAccount removed!\n");
+	gint account_data_int = purple_account_get_int(account, "tp_account_data", 0);
 
-	account_data = (telepathy_account*)purple_account_get_int(
-			account, "tp_account_data", 0);
+	if (account_data_int == 0)
+	{
+		return;
+	}
+	
+	account_data = (telepathy_account*)account_data_int;
 
+	purple_debug_info("telepathy", "PurpleAccount removed!\n");
+
 	if (account_data != NULL)
 	{
 		purple_account_set_int(account, "tp_account_data", 0);


More information about the Commits mailing list