pidgin: aee5a932: Refresh the statusbox correctly.
sadrul at pidgin.im
sadrul at pidgin.im
Fri Feb 5 09:42:43 EST 2010
-----------------------------------------------------------------
Revision: aee5a93203f807e81fd88cc655fb27908cd17ff3
Ancestor: 091e51ec52b6a8997b13d2bae08a177dcdc409d5
Author: sadrul at pidgin.im
Date: 2010-02-05T14:38:53
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/aee5a93203f807e81fd88cc655fb27908cd17ff3
Modified files:
pidgin/gtkstatusbox.c
ChangeLog:
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.
-------------- next part --------------
============================================================
--- pidgin/gtkstatusbox.c 4b8cd9dd5a021cd296b30db65004b3d3cf70e507
+++ pidgin/gtkstatusbox.c a60f228bcad0c34d73b664dd940e8920c6a54f28
@@ -2630,6 +2630,7 @@ static void pidgin_status_box_changed(Pi
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 @@ static void pidgin_status_box_changed(Pi
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 @@ static void pidgin_status_box_changed(Pi
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;
}
}
More information about the Commits
mailing list