finch/gntblist.c

changeset 16719
b54dafede4bd
parent 16636
7f37767fa737
child 16779
006f50afb7a6
child 16828
0501ee8b8220
equal deleted inserted replaced
16718:e700b2f9843a 16719:b54dafede4bd
1697 message = purple_savedstatus_get_message(current); 1697 message = purple_savedstatus_get_message(current);
1698 prim = purple_savedstatus_get_type(current); 1698 prim = purple_savedstatus_get_type(current);
1699 1699
1700 newmessage = gnt_entry_get_text(GNT_ENTRY(ggblist->statustext)); 1700 newmessage = gnt_entry_get_text(GNT_ENTRY(ggblist->statustext));
1701 item = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(ggblist->status)); 1701 item = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(ggblist->status));
1702 g_return_val_if_fail(item->type == STATUS_PRIMITIVE, FALSE); 1702
1703 newprim = item->u.prim; 1703 switch (item->type) {
1704 case STATUS_PRIMITIVE:
1705 newprim = item->u.prim;
1706 break;
1707 case STATUS_SAVED_POPULAR:
1708 newprim = purple_savedstatus_get_type(item->u.saved);
1709 break;
1710 default:
1711 goto end; /* 'New' or 'Saved' is selected, but this should never happen. */
1712 }
1704 1713
1705 if (newprim != prim || ((message && !newmessage) || 1714 if (newprim != prim || ((message && !newmessage) ||
1706 (!message && newmessage) || 1715 (!message && newmessage) ||
1707 (message && newmessage && g_utf8_collate(message, newmessage) != 0))) 1716 (message && newmessage && g_utf8_collate(message, newmessage) != 0)))
1708 { 1717 {
1716 1725
1717 purple_savedstatus_activate(status); 1726 purple_savedstatus_activate(status);
1718 } 1727 }
1719 1728
1720 gnt_box_give_focus_to_child(GNT_BOX(ggblist->window), ggblist->tree); 1729 gnt_box_give_focus_to_child(GNT_BOX(ggblist->window), ggblist->tree);
1730 end:
1721 if (ggblist->typing) 1731 if (ggblist->typing)
1722 g_source_remove(ggblist->typing); 1732 g_source_remove(ggblist->typing);
1723 ggblist->typing = 0; 1733 ggblist->typing = 0;
1724 return FALSE; 1734 return FALSE;
1725 } 1735 }

mercurial