The "state" variable in x11_backend_deliver_button_event is basically the
same as (event->response_type == XCB_BUTTON_PRESS), thus update the code
to use the last one.

Signed-off-by: Benoit Gschwind <[email protected]>
---
 src/compositor-x11.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/src/compositor-x11.c b/src/compositor-x11.c
index e7b09cf..5b76dba 100644
--- a/src/compositor-x11.c
+++ b/src/compositor-x11.c
@@ -1037,7 +1037,7 @@ update_xkb_state_from_core(struct x11_backend *b, 
uint16_t x11_mask)
 
 static void
 x11_backend_deliver_button_event(struct x11_backend *b,
-                                xcb_generic_event_t *event, int state)
+                                xcb_generic_event_t *event)
 {
        assert(event->response_type == XCB_BUTTON_PRESS ||
               event->response_type == XCB_BUTTON_RELEASE);
@@ -1046,12 +1046,13 @@ x11_backend_deliver_button_event(struct x11_backend *b,
        uint32_t button;
        struct x11_output *output;
        struct weston_pointer_axis_event weston_event;
+       bool is_button_pressed = event->response_type == XCB_BUTTON_PRESS;
 
        output = x11_backend_find_output(b, button_event->event);
        if (!output)
                return;
 
-       if (state)
+       if (is_button_pressed)
                xcb_grab_pointer(b->conn, 0, output->window,
                                 XCB_EVENT_MASK_BUTTON_PRESS |
                                 XCB_EVENT_MASK_BUTTON_RELEASE |
@@ -1081,7 +1082,7 @@ x11_backend_deliver_button_event(struct x11_backend *b,
        case 4:
                /* Axis are measured in pixels, but the xcb events are discrete
                 * steps. Therefore move the axis by some pixels every step. */
-               if (state) {
+               if (is_button_pressed) {
                        weston_event.value = -DEFAULT_AXIS_STEP_DISTANCE;
                        weston_event.discrete = -1;
                        weston_event.has_discrete = true;
@@ -1094,7 +1095,7 @@ x11_backend_deliver_button_event(struct x11_backend *b,
                }
                return;
        case 5:
-               if (state) {
+               if (is_button_pressed) {
                        weston_event.value = DEFAULT_AXIS_STEP_DISTANCE;
                        weston_event.discrete = 1;
                        weston_event.has_discrete = true;
@@ -1107,7 +1108,7 @@ x11_backend_deliver_button_event(struct x11_backend *b,
                }
                return;
        case 6:
-               if (state) {
+               if (is_button_pressed) {
                        weston_event.value = -DEFAULT_AXIS_STEP_DISTANCE;
                        weston_event.discrete = -1;
                        weston_event.has_discrete = true;
@@ -1120,7 +1121,7 @@ x11_backend_deliver_button_event(struct x11_backend *b,
                }
                return;
        case 7:
-               if (state) {
+               if (is_button_pressed) {
                        weston_event.value = DEFAULT_AXIS_STEP_DISTANCE;
                        weston_event.discrete = 1;
                        weston_event.has_discrete = true;
@@ -1139,8 +1140,8 @@ x11_backend_deliver_button_event(struct x11_backend *b,
 
        notify_button(&b->core_seat,
                      weston_compositor_get_time(), button,
-                     state ? WL_POINTER_BUTTON_STATE_PRESSED :
-                             WL_POINTER_BUTTON_STATE_RELEASED);
+                     is_button_pressed ? WL_POINTER_BUTTON_STATE_PRESSED :
+                                         WL_POINTER_BUTTON_STATE_RELEASED);
        notify_pointer_frame(&b->core_seat);
 }
 
@@ -1333,10 +1334,8 @@ x11_backend_handle_event(int fd, uint32_t mask, void 
*data)
                                   STATE_UPDATE_NONE);
                        break;
                case XCB_BUTTON_PRESS:
-                       x11_backend_deliver_button_event(b, event, 1);
-                       break;
                case XCB_BUTTON_RELEASE:
-                       x11_backend_deliver_button_event(b, event, 0);
+                       x11_backend_deliver_button_event(b, event);
                        break;
                case XCB_MOTION_NOTIFY:
                        x11_backend_deliver_motion_event(b, event);
-- 
2.7.3

_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to