diff libpurple/protocols/msn/msn.c @ 31127:fe607234b0d8

When looping through the request fields, don't try to disconnect a field if it doesn't actually refer to an endpoint.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Wed, 16 Dec 2009 23:45:27 +0000
parents 3d34a0870920
children d80d32644492
line wrap: on
line diff
--- a/libpurple/protocols/msn/msn.c	Tue Dec 15 08:57:37 2009 +0000
+++ b/libpurple/protocols/msn/msn.c	Wed Dec 16 23:45:27 2009 +0000
@@ -388,8 +388,11 @@
 	for (others = purple_request_field_group_get_fields(data->group);
 	     others;
 	     others = g_list_next(others)) {
-		if (!purple_request_field_bool_get_value(others->data)) {
-			const char *id = purple_request_field_get_id(others->data);
+		PurpleRequestField *field = others->data;
+		if (purple_request_field_get_type(field) != PURPLE_REQUEST_FIELD_BOOLEAN)
+			continue;
+		if (!purple_request_field_bool_get_value(field)) {
+			const char *id = purple_request_field_get_id(field);
 			char *user;
 			purple_debug_info("msn", "Disconnecting Endpoint %s\n", id);