From 6d4a432c4b9b8a7047555bf8c217bc97be3f4db4 Mon Sep 17 00:00:00 2001 From: Boram Park Date: Thu, 23 Mar 2017 15:51:33 +0900 Subject: [PATCH] event_loop: set the user func and data before calling wayland API. The user func can be called at the line of wl api by the backend implementation Change-Id: Idfc19afa17f584531ef37834c592f59f803d2823 --- src/tdm_event_loop.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/tdm_event_loop.c b/src/tdm_event_loop.c index 29a9763..a2cac7e 100644 --- a/src/tdm_event_loop.c +++ b/src/tdm_event_loop.c @@ -324,6 +324,10 @@ tdm_event_loop_add_fd_handler(tdm_display *dpy, int fd, tdm_event_loop_mask mask if (mask & TDM_EVENT_LOOP_WRITABLE) wl_mask |= WL_EVENT_WRITABLE; + fd_source->private_display = private_display; + fd_source->func = func; + fd_source->user_data = user_data; + fd_source->base.wl_source = wl_event_loop_add_fd(private_loop->wl_loop, fd, wl_mask, _tdm_event_loop_fd_func, fd_source); @@ -334,10 +338,6 @@ tdm_event_loop_add_fd_handler(tdm_display *dpy, int fd, tdm_event_loop_mask mask return NULL; } - fd_source->private_display = private_display; - fd_source->func = func; - fd_source->user_data = user_data; - if (error) *error = TDM_ERROR_NONE; @@ -411,6 +411,10 @@ tdm_event_loop_add_timer_handler(tdm_display *dpy, tdm_event_loop_timer_handler timer_source = calloc(1, sizeof(tdm_event_loop_source_timer)); TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(timer_source, TDM_ERROR_OUT_OF_MEMORY, NULL); + timer_source->private_display = private_display; + timer_source->func = func; + timer_source->user_data = user_data; + timer_source->base.wl_source = wl_event_loop_add_timer(private_loop->wl_loop, _tdm_event_loop_timer_func, timer_source); @@ -421,10 +425,6 @@ tdm_event_loop_add_timer_handler(tdm_display *dpy, tdm_event_loop_timer_handler return NULL; } - timer_source->private_display = private_display; - timer_source->func = func; - timer_source->user_data = user_data; - if (error) *error = TDM_ERROR_NONE; -- 2.7.4