# HG changeset patch # User Sadrul Habib Chowdhury # Date 1265380733 0 # Node ID 61ea136df1113eb979251768f7659a557102de63 # Parent ef1c3791ad326dc9b09893eeeee24af818555d04 Refresh the statusbox correctly. When clicking on 'New' or 'Saved' status from the dropdown, while we were typing a status message, the statusbox goes into an eternal 'typing' state, until you change it by clicking on it. This is a fix for that. Fixes #11289. diff -r ef1c3791ad32 -r 61ea136df111 pidgin/gtkstatusbox.c --- a/pidgin/gtkstatusbox.c Thu Feb 04 23:03:24 2010 +0000 +++ b/pidgin/gtkstatusbox.c Fri Feb 05 14:38:53 2010 +0000 @@ -2630,6 +2630,7 @@ gpointer data; GList *accounts = NULL, *node; int active; + gboolean wastyping = FALSE; if (!gtk_tree_model_get_iter (GTK_TREE_MODEL(status_box->dropdown_store), &iter, path)) @@ -2642,7 +2643,7 @@ TYPE_COLUMN, &type, DATA_COLUMN, &data, -1); - if (status_box->typing != 0) + if ((wastyping = (status_box->typing != 0))) purple_timeout_remove(status_box->typing); status_box->typing = 0; @@ -2666,14 +2667,18 @@ pidgin_status_editor_show(FALSE, purple_savedstatus_is_transient(saved_status) ? saved_status : NULL); - status_menu_refresh_iter(status_box, FALSE); + status_menu_refresh_iter(status_box, wastyping); + if (wastyping) + pidgin_status_box_refresh(status_box); return; } if (type == PIDGIN_STATUS_BOX_TYPE_SAVED) { pidgin_status_window_show(); - status_menu_refresh_iter(status_box, FALSE); + status_menu_refresh_iter(status_box, wastyping); + if (wastyping) + pidgin_status_box_refresh(status_box); return; } }