pidgin/pidgin

Finch: fix a crash when opening a new conv

2014-03-18, Tomasz Wasilczyk
965caf7eb32e
Parents 0fcbcc3b45eb
Children 1ae6f7c41db3
Finch: fix a crash when opening a new conv
--- a/finch/gntconv.c Mon Mar 17 10:49:57 2014 +0100
+++ b/finch/gntconv.c Tue Mar 18 12:20:55 2014 +0100
@@ -387,22 +387,27 @@
static void
gg_extended_menu(FinchConv *ggc)
{
- GntWidget *sub;
+ GntMenu *sub;
GList *list;
- sub = gnt_menu_new(GNT_MENU_POPUP);
- gnt_menuitem_set_submenu(ggc->plugins, GNT_MENU(sub));
+ g_return_if_fail(ggc != NULL);
+
+ sub = GNT_MENU(gnt_menu_new(GNT_MENU_POPUP));
+ gnt_menuitem_set_submenu(ggc->plugins, sub);
for (list = purple_conversation_get_extended_menu(ggc->active_conv);
list; list = g_list_delete_link(list, list))
{
- finch_append_menu_action(GNT_MENU(sub), list->data, ggc->active_conv);
+ finch_append_menu_action(sub, list->data, ggc->active_conv);
}
}
static void
conv_updated(PurpleConversation *conv, PurpleConversationUpdateType type)
{
+ if (purple_conversation_get_ui_data(conv) == NULL)
+ return;
+
if (type == PURPLE_CONVERSATION_UPDATE_FEATURES) {
gg_extended_menu(purple_conversation_get_ui_data(conv));
}