[gtk+] Pass group state to _gdk_x11_device_xi2_translate_state
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Pass group state to _gdk_x11_device_xi2_translate_state
- Date: Sat, 5 Feb 2011 02:11:52 +0000 (UTC)
commit d4c1dbe3d72df9a6a9cd10ed61987ac25dd6dc57
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Feb 4 21:01:52 2011 -0500
Pass group state to _gdk_x11_device_xi2_translate_state
This will be necessary to make groups work with XI2.
gdk/x11/gdkdevice-xi2.c | 7 ++++---
gdk/x11/gdkdevicemanager-xi2.c | 10 +++++-----
gdk/x11/gdkprivate-x11.h | 3 ++-
3 files changed, 11 insertions(+), 9 deletions(-)
---
diff --git a/gdk/x11/gdkdevice-xi2.c b/gdk/x11/gdkdevice-xi2.c
index b49cbaa..a3700de 100644
--- a/gdk/x11/gdkdevice-xi2.c
+++ b/gdk/x11/gdkdevice-xi2.c
@@ -361,7 +361,7 @@ gdk_x11_device_xi2_query_state (GdkDevice *device,
*win_y = (gint) xwin_y;
if (mask)
- *mask = _gdk_x11_device_xi2_translate_state (&mod_state, &button_state);
+ *mask = _gdk_x11_device_xi2_translate_state (&mod_state, &button_state, &group_state);
free (button_state.mask);
@@ -602,7 +602,7 @@ gdk_x11_device_xi2_window_at_position (GdkDevice *device,
*win_y = (window) ? (gint) xwin_y : -1;
if (mask)
- *mask = _gdk_x11_device_xi2_translate_state (&mod_state, &button_state);
+ *mask = _gdk_x11_device_xi2_translate_state (&mod_state, &button_state, &group_state);
free (button_state.mask);
@@ -685,7 +685,8 @@ _gdk_x11_device_xi2_translate_event_mask (GdkEventMask event_mask,
guint
_gdk_x11_device_xi2_translate_state (XIModifierState *mods_state,
- XIButtonState *buttons_state)
+ XIButtonState *buttons_state,
+ XIGroupState *group_state)
{
guint state = 0;
diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c
index 33cd1ae..16de055 100644
--- a/gdk/x11/gdkdevicemanager-xi2.c
+++ b/gdk/x11/gdkdevicemanager-xi2.c
@@ -1017,7 +1017,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
event->key.window = window;
event->key.time = xev->time;
- event->key.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons);
+ event->key.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
event->key.group = _gdk_x11_get_group_for_state (display, event->key.state);
event->key.hardware_keycode = xev->detail;
@@ -1095,7 +1095,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
GUINT_TO_POINTER (xev->sourceid));
gdk_event_set_source_device (event, source_device);
- event->scroll.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons);
+ event->scroll.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
break;
}
/* else (XI_ButtonRelease) fall thru */
@@ -1131,7 +1131,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
gdk_device_get_axis (device, event->button.axes, GDK_AXIS_Y, &event->button.y);
}
- event->button.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons);
+ event->button.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
event->button.button = xev->detail;
}
@@ -1167,7 +1167,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
GUINT_TO_POINTER (xev->sourceid));
gdk_event_set_source_device (event, source_device);
- event->motion.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons);
+ event->motion.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
/* There doesn't seem to be motion hints in XI */
event->motion.is_hint = FALSE;
@@ -1216,7 +1216,7 @@ gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator,
event->crossing.mode = translate_crossing_mode (xev->mode);
event->crossing.detail = translate_notify_type (xev->detail);
- event->crossing.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons);
+ event->crossing.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
}
break;
case XI_FocusIn:
diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h
index f3b8a8c..e708464 100644
--- a/gdk/x11/gdkprivate-x11.h
+++ b/gdk/x11/gdkprivate-x11.h
@@ -241,7 +241,8 @@ void _gdk_x11_device_xi_translate_axes (GdkDevice *device,
guchar * _gdk_x11_device_xi2_translate_event_mask (GdkEventMask event_mask,
gint *len);
guint _gdk_x11_device_xi2_translate_state (XIModifierState *mods_state,
- XIButtonState *buttons_state);
+ XIButtonState *buttons_state,
+ XIGroupState *group_state);
void _gdk_x11_event_translate_keyboard_string (GdkEventKey *event);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]