mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-06 00:30:08 +00:00
Patch from Alejandro Piñeiro Iglesias <apinheiro@igalia.com>. Bug
2008-04-02 Li Yuan <li.yuan@.sun.com> * gailbutton.c: (idle_do_action): Patch from Alejandro Piñeiro Iglesias <apinheiro@igalia.com>. Bug #496167. Synthesize press and release GdkEvent in button's click action. svn path=/trunk/; revision=19958
This commit is contained in:
parent
6716dc6f76
commit
d33b599ac7
@ -1,3 +1,10 @@
|
||||
2008-04-02 Li Yuan <li.yuan@.sun.com>
|
||||
|
||||
* gailbutton.c: (idle_do_action):
|
||||
Patch from Alejandro Piñeiro Iglesias <apinheiro@igalia.com>.
|
||||
Bug #496167. Synthesize press and release GdkEvent in button's click
|
||||
action.
|
||||
|
||||
2008-03-31 Li Yuan <li.yuan@sun.com>
|
||||
|
||||
* gailbutton.c: (gail_button_ref_state_set):
|
||||
|
@ -522,7 +522,28 @@ idle_do_action (gpointer data)
|
||||
switch (action_number)
|
||||
{
|
||||
case 0:
|
||||
gtk_widget_activate (widget);
|
||||
/* first a press */
|
||||
|
||||
button->in_button = TRUE;
|
||||
gtk_button_enter (button);
|
||||
/*
|
||||
* Simulate a button press event. calling gtk_button_pressed() does
|
||||
* not get the job done for a GtkOptionMenu.
|
||||
*/
|
||||
tmp_event.button.type = GDK_BUTTON_PRESS;
|
||||
tmp_event.button.window = widget->window;
|
||||
tmp_event.button.button = 1;
|
||||
tmp_event.button.send_event = TRUE;
|
||||
tmp_event.button.time = GDK_CURRENT_TIME;
|
||||
tmp_event.button.axes = NULL;
|
||||
|
||||
gtk_widget_event (widget, &tmp_event);
|
||||
|
||||
/* then a release */
|
||||
tmp_event.button.type = GDK_BUTTON_RELEASE;
|
||||
gtk_widget_event (widget, &tmp_event);
|
||||
button->in_button = FALSE;
|
||||
gtk_button_leave (button);
|
||||
break;
|
||||
case 1:
|
||||
button->in_button = TRUE;
|
||||
|
Loading…
Reference in New Issue
Block a user