diff options
author | Emmanuele Bassi <ebassi@linux.intel.com> | 2011-01-21 15:14:11 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@linux.intel.com> | 2011-01-21 15:14:11 +0000 |
commit | 516366d7691128e9f2138781bcc144cd628b110f (patch) | |
tree | 0a11aa29b56e477f541d5e1897fd9cca6a3b491f /clutter/clutter-event.c | |
parent | 7a339d1663b94e4cbc07ffa8a8c3bf0a47d84cae (diff) | |
download | clutter-516366d7691128e9f2138781bcc144cd628b110f.tar.gz |
event: Clean up clutter_event_copy()
Try to avoid duplication of variables and blocks.
Diffstat (limited to 'clutter/clutter-event.c')
-rw-r--r-- | clutter/clutter-event.c | 46 |
1 files changed, 21 insertions, 25 deletions
diff --git a/clutter/clutter-event.c b/clutter/clutter-event.c index 47264a773..c569e07d0 100644 --- a/clutter/clutter-event.c +++ b/clutter/clutter-event.c @@ -677,6 +677,8 @@ clutter_event_copy (const ClutterEvent *event) { ClutterEvent *new_event; ClutterEventPrivate *new_real_event; + ClutterInputDevice *device; + gint n_axes = 0; g_return_val_if_fail (event != NULL, NULL); @@ -692,40 +694,29 @@ clutter_event_copy (const ClutterEvent *event) new_real_event->source_device = real_event->source_device; } + device = clutter_event_get_device (event); + if (device != NULL) + n_axes = clutter_input_device_get_n_axes (device); + switch (event->type) { case CLUTTER_BUTTON_PRESS: case CLUTTER_BUTTON_RELEASE: - if (event->button.device != NULL && event->button.axes != NULL) - { - gint n_axes; - - n_axes = clutter_input_device_get_n_axes (event->button.device); - new_event->button.axes = g_memdup (event->button.axes, - sizeof (gdouble) * n_axes); - } + if (event->button.axes != NULL) + new_event->button.axes = g_memdup (event->button.axes, + sizeof (gdouble) * n_axes); break; case CLUTTER_SCROLL: - if (event->scroll.device != NULL && event->scroll.axes != NULL) - { - gint n_axes; - - n_axes = clutter_input_device_get_n_axes (event->scroll.device); - new_event->scroll.axes = g_memdup (event->scroll.axes, - sizeof (gdouble) * n_axes); - } + if (event->scroll.axes != NULL) + new_event->scroll.axes = g_memdup (event->scroll.axes, + sizeof (gdouble) * n_axes); break; case CLUTTER_MOTION: - if (event->motion.device != NULL && event->motion.axes != NULL) - { - gint n_axes; - - n_axes = clutter_input_device_get_n_axes (event->motion.device); - new_event->motion.axes = g_memdup (event->motion.axes, - sizeof (gdouble) * n_axes); - } + if (event->motion.axes != NULL) + new_event->motion.axes = g_memdup (event->motion.axes, + sizeof (gdouble) * n_axes); break; default: @@ -1051,11 +1042,14 @@ clutter_event_get_axes (const ClutterEvent *event, case CLUTTER_DELETE: case CLUTTER_ENTER: case CLUTTER_LEAVE: - case CLUTTER_SCROLL: case CLUTTER_KEY_PRESS: case CLUTTER_KEY_RELEASE: break; + case CLUTTER_SCROLL: + retval = event->scroll.axes; + break; + case CLUTTER_BUTTON_PRESS: case CLUTTER_BUTTON_RELEASE: retval = event->button.axes; @@ -1073,6 +1067,8 @@ clutter_event_get_axes (const ClutterEvent *event, device = clutter_event_get_device (event); if (device != NULL) len = clutter_input_device_get_n_axes (device); + else + retval = NULL; } if (n_axes) |