quartz: include all buttons' states in GdkEventButton.state
(cherry picked from commit a381e8ea62441b6715ba9bcb0e04332fd914f8b1)
This commit is contained in:
parent
264241eb11
commit
5f6c70f211
@ -802,9 +802,9 @@ fill_button_event (GdkWindow *window,
|
|||||||
{
|
{
|
||||||
GdkEventType type;
|
GdkEventType type;
|
||||||
gint state;
|
gint state;
|
||||||
gint button;
|
|
||||||
|
|
||||||
state = get_keyboard_modifiers_from_ns_event (nsevent);
|
state = get_keyboard_modifiers_from_ns_event (nsevent) |
|
||||||
|
_gdk_quartz_events_get_current_mouse_modifiers ();
|
||||||
|
|
||||||
switch ([nsevent type])
|
switch ([nsevent type])
|
||||||
{
|
{
|
||||||
@ -812,18 +812,19 @@ fill_button_event (GdkWindow *window,
|
|||||||
case NSRightMouseDown:
|
case NSRightMouseDown:
|
||||||
case NSOtherMouseDown:
|
case NSOtherMouseDown:
|
||||||
type = GDK_BUTTON_PRESS;
|
type = GDK_BUTTON_PRESS;
|
||||||
|
state &= ~get_mouse_button_modifiers_from_ns_event (nsevent);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NSLeftMouseUp:
|
case NSLeftMouseUp:
|
||||||
case NSRightMouseUp:
|
case NSRightMouseUp:
|
||||||
case NSOtherMouseUp:
|
case NSOtherMouseUp:
|
||||||
type = GDK_BUTTON_RELEASE;
|
type = GDK_BUTTON_RELEASE;
|
||||||
state |= get_mouse_button_modifiers_from_ns_event (nsevent);
|
state |= get_mouse_button_modifiers_from_ns_event (nsevent);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
}
|
}
|
||||||
|
|
||||||
button = get_mouse_button_from_ns_event (nsevent);
|
|
||||||
|
|
||||||
event->any.type = type;
|
event->any.type = type;
|
||||||
event->button.window = window;
|
event->button.window = window;
|
||||||
@ -834,7 +835,7 @@ fill_button_event (GdkWindow *window,
|
|||||||
event->button.y_root = y_root;
|
event->button.y_root = y_root;
|
||||||
/* FIXME event->axes */
|
/* FIXME event->axes */
|
||||||
event->button.state = state;
|
event->button.state = state;
|
||||||
event->button.button = button;
|
event->button.button = get_mouse_button_from_ns_event (nsevent);
|
||||||
event->button.device = _gdk_display->core_pointer;
|
event->button.device = _gdk_display->core_pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user