[clutter/clutter-1.8] x11: Do not try to access private structures



commit 0a8f922e3c56c8b3a6ab42f3f275edea6a267777
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Thu Dec 1 13:41:45 2011 +0000

    x11: Do not try to access private structures
    
    ClutterInputDeviceX11 has been made private, so we cannot access it from
    outside of clutter-input-device-core-x11.c. We should have simple
    accessors for the min/max keycode, which is the only detail that we use.
    (cherry picked from commit 1dc7c4543896bfc2f2cd460cdea9c417aefd7952)
    
    Signed-off-by: Emmanuele Bassi <ebassi gnome org>

 clutter/x11/clutter-device-manager-core-x11.c |    5 +++--
 clutter/x11/clutter-input-device-core-x11.c   |   25 +++++++++++++++++++++++--
 clutter/x11/clutter-input-device-core-x11.h   |    6 ++++++
 3 files changed, 32 insertions(+), 4 deletions(-)
---
diff --git a/clutter/x11/clutter-device-manager-core-x11.c b/clutter/x11/clutter-device-manager-core-x11.c
index 8303b3b..7f0af9f 100644
--- a/clutter/x11/clutter-device-manager-core-x11.c
+++ b/clutter/x11/clutter-device-manager-core-x11.c
@@ -97,8 +97,9 @@ translate_class_info (ClutterInputDevice *device,
             n_keys = xk_info->max_keycode - xk_info->min_keycode + 1;
 
             _clutter_input_device_set_n_keys (device, n_keys);
-            device_x11->min_keycode = xk_info->min_keycode;
-            device_x11->max_keycode = xk_info->max_keycode;
+            _clutter_input_device_x11_set_keycodes (device_x11,
+                                                    xk_info->min_keycode,
+                                                    xk_info->max_keycode);
           }
           break;
 
diff --git a/clutter/x11/clutter-input-device-core-x11.c b/clutter/x11/clutter-input-device-core-x11.c
index 216bddc..fe00fff 100644
--- a/clutter/x11/clutter-input-device-core-x11.c
+++ b/clutter/x11/clutter-input-device-core-x11.c
@@ -62,8 +62,8 @@ struct _ClutterInputDeviceX11
 
   gint *axis_data;
 
-  gint min_keycode;
-  gint max_keycode;
+  int min_keycode;
+  int max_keycode;
 };
 
 #define clutter_input_device_x11_get_type       _clutter_input_device_x11_get_type
@@ -217,6 +217,27 @@ clutter_input_device_x11_init (ClutterInputDeviceX11 *self)
 {
 }
 
+void
+_clutter_input_device_x11_set_keycodes (ClutterInputDeviceX11 *device_x11,
+                                        int                    min_keycode,
+                                        int                    max_keycode)
+{
+  device_x11->min_keycode = min_keycode;
+  device_x11->max_keycode = max_keycode;
+}
+
+int
+_clutter_input_device_x11_get_min_keycode (ClutterInputDeviceX11 *device_x11)
+{
+  return device_x11->min_keycode;
+}
+
+int
+_clutter_input_device_x11_get_max_keycode (ClutterInputDeviceX11 *device_x11)
+{
+  return device_x11->max_keycode;
+}
+
 #ifdef HAVE_XINPUT
 static void
 update_axes (ClutterInputDeviceX11 *device_x11,
diff --git a/clutter/x11/clutter-input-device-core-x11.h b/clutter/x11/clutter-input-device-core-x11.h
index 14354df..af4ed59 100644
--- a/clutter/x11/clutter-input-device-core-x11.h
+++ b/clutter/x11/clutter-input-device-core-x11.h
@@ -39,6 +39,12 @@ typedef struct _ClutterInputDeviceX11           ClutterInputDeviceX11;
 
 GType _clutter_input_device_x11_get_type (void) G_GNUC_CONST;
 
+void _clutter_input_device_x11_set_keycodes (ClutterInputDeviceX11 *device_x11,
+                                             int                    min_keycode,
+                                             int                    max_keycode);
+int _clutter_input_device_x11_get_min_keycode (ClutterInputDeviceX11 *device_x11);
+int _clutter_input_device_x11_get_max_keycode (ClutterInputDeviceX11 *device_x11);
+
 gboolean _clutter_input_device_x11_translate_xi_event (ClutterInputDeviceX11 *device_x11,
                                                        ClutterStageX11       *stage_x11,
                                                        XEvent                *xevent,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]