[empathy: 3/5] Leave chatroom only if tp_chat exists



commit 0c9a992db9d0f8426264b097f0aa0cfaca860509
Author: Chandni Verma <chandniverma2112 gmail com>
Date:   Mon May 9 16:26:30 2011 +0530

    Leave chatroom only if tp_chat exists

 src/empathy-chat-window.c |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c
index b7bb6c8..61a1c5d 100644
--- a/src/empathy-chat-window.c
+++ b/src/empathy-chat-window.c
@@ -1487,17 +1487,23 @@ chat_window_command_part (EmpathyChat *chat,
 			   GStrv        strv)
 {
 	EmpathyChat *chat_to_be_parted;
+	EmpathyTpChat *tp_chat = NULL;
 
 	if (strv[1] == NULL) {
-		empathy_tp_chat_leave (empathy_chat_get_tp_chat (chat), "");
+		/* No chatroom ID specified  */
+		tp_chat = empathy_chat_get_tp_chat (chat);
+		if (tp_chat)
+			empathy_tp_chat_leave (tp_chat, "");
 		return;
 	}
 	chat_to_be_parted = empathy_chat_window_find_chat (
 		empathy_chat_get_account (chat), strv[1]);
 
 	if (chat_to_be_parted != NULL) {
-		empathy_tp_chat_leave (empathy_chat_get_tp_chat (chat_to_be_parted),
-			strv[2]);
+		/* Found a chatroom matching the specified ID */
+		tp_chat = empathy_chat_get_tp_chat (chat_to_be_parted);
+		if (tp_chat)
+			empathy_tp_chat_leave (tp_chat, strv[2]);
 	} else {
 		gchar *message;
 
@@ -1510,7 +1516,9 @@ chat_window_command_part (EmpathyChat *chat,
 		 * MUC then the current chatroom should be parted and srtv[1] should
 		 * be treated as part of the optional part-message. */
 		message = g_strconcat (strv[1], " ", strv[2], NULL);
-		empathy_tp_chat_leave (empathy_chat_get_tp_chat (chat), message);
+		tp_chat = empathy_chat_get_tp_chat (chat);
+		if (tp_chat)
+			empathy_tp_chat_leave (tp_chat, message);
 
 		g_free (message);
 	}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]