mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-11 19:30:10 +00:00
Bug #561631. Patch from Yue Wang. Ref the button in the idle function to
2009-02-26 Li Yuan <li.yuan@sun.com> * gailbutton.c: (idle_do_action): Bug #561631. Patch from Yue Wang. Ref the button in the idle function to prevent the button being finalized. svn path=/trunk/; revision=22408
This commit is contained in:
parent
7871e09560
commit
6bcbd9eb4d
@ -1,3 +1,9 @@
|
||||
2009-02-26 Li Yuan <li.yuan@sun.com>
|
||||
|
||||
* gailbutton.c: (idle_do_action):
|
||||
Bug #561631. Patch from Yue Wang. Ref the button in the idle
|
||||
function to prevent the button being finalized.
|
||||
|
||||
2009-02-25 Li Yuan <li.yuan@sun.com>
|
||||
|
||||
* gailtreeview.c: (gail_tree_view_ref_accessible_at_point):
|
||||
|
@ -503,15 +503,20 @@ idle_do_action (gpointer data)
|
||||
tmp_event.button.send_event = TRUE;
|
||||
tmp_event.button.time = GDK_CURRENT_TIME;
|
||||
tmp_event.button.axes = NULL;
|
||||
|
||||
|
||||
g_object_ref (gail_button);
|
||||
|
||||
if (widget == NULL /* State is defunct */ ||
|
||||
!GTK_WIDGET_IS_SENSITIVE (widget) || !GTK_WIDGET_VISIBLE (widget))
|
||||
return FALSE;
|
||||
{
|
||||
g_object_unref (gail_button);
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
gtk_widget_event (widget, &tmp_event);
|
||||
|
||||
button = GTK_BUTTON (widget);
|
||||
while (g_queue_get_length(gail_button->action_queue) != 0)
|
||||
while (!g_queue_is_empty (gail_button->action_queue))
|
||||
{
|
||||
gint action_number = (gint) g_queue_pop_head (gail_button->action_queue);
|
||||
if (gail_button->default_is_press)
|
||||
@ -572,7 +577,7 @@ idle_do_action (gpointer data)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
g_object_unref (gail_button);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user