# HG changeset patch # User Sadrul Habib Chowdhury # Date 1177869812 0 # Node ID 1c9835f8b29cb6078d798e063e0b904b1f5f61f3 # Parent d2809bacb4a044e9d9cc4117898c30ccb6b665d9 A rare crash fix for finch. diff -r d2809bacb4a0 -r 1c9835f8b29c finch/gntblist.c --- a/finch/gntblist.c Sun Apr 29 15:16:55 2007 +0000 +++ b/finch/gntblist.c Sun Apr 29 18:03:32 2007 +0000 @@ -1699,8 +1699,17 @@ newmessage = gnt_entry_get_text(GNT_ENTRY(ggblist->statustext)); item = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(ggblist->status)); - g_return_val_if_fail(item->type == STATUS_PRIMITIVE, FALSE); - newprim = item->u.prim; + + switch (item->type) { + case STATUS_PRIMITIVE: + newprim = item->u.prim; + break; + case STATUS_SAVED_POPULAR: + newprim = purple_savedstatus_get_type(item->u.saved); + break; + default: + goto end; /* 'New' or 'Saved' is selected, but this should never happen. */ + } if (newprim != prim || ((message && !newmessage) || (!message && newmessage) || @@ -1718,6 +1727,7 @@ } gnt_box_give_focus_to_child(GNT_BOX(ggblist->window), ggblist->tree); +end: if (ggblist->typing) g_source_remove(ggblist->typing); ggblist->typing = 0;