clients/window: Don't remove the touch listener on a frame event
authorNeil Roberts <neil@linux.intel.com>
Wed, 23 Apr 2014 17:02:47 +0000 (18:02 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 25 Apr 2014 22:18:37 +0000 (15:18 -0700)
It looks like the handler for frame events from the wl_touch interface for
widgets may have been erroneously copied from the cancel handler so that it
removes all handlers as they are processed. I don't think this makes much sense
for the frame event. This was stopping the panel icons from being pushable with
touch events when using libinput since commit 1679f232e541489e. All that commit
does it make it start sending the frame events.

clients/window.c

index e770a04..e2f7010 100644 (file)
@@ -3065,9 +3065,6 @@ touch_handle_frame(void *data, struct wl_touch *wl_touch)
                if (tp->widget->touch_frame_handler)
                        (*tp->widget->touch_frame_handler)(tp->widget, input, 
                                                           tp->widget->user_data);
-
-               wl_list_remove(&tp->link);
-               free(tp);
        }
 }