timeout_handler: add timer when enable the handler 88/43588/1
authorMinkyu Kang <mk7.kang@samsung.com>
Fri, 10 Jul 2015 10:27:10 +0000 (19:27 +0900)
committerMinkyu Kang <mk7.kang@samsung.com>
Fri, 10 Jul 2015 10:27:10 +0000 (19:27 +0900)
Change-Id: I2a815ca06cce19f94f7b0ad46abae87438f2ddf0
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
include/util/timeout_handler.h
src/util/timeout_handler.c
src/view/viewer.c

index 5cd0aab..44ad82f 100644 (file)
@@ -27,8 +27,6 @@ struct timeout_handler *timeout_handler_init(double timeout,
 
 void timeout_handler_fini(struct timeout_handler *handle);
 
-void timeout_handler_reset(struct timeout_handler *handle);
-
 void timeout_handler_enable(struct timeout_handler *handle, bool enable);
 
 #endif
index dce195f..c4805f1 100644 (file)
@@ -52,6 +52,15 @@ static Eina_Bool _timer_cb(void *data)
        return ECORE_CALLBACK_CANCEL;
 }
 
+void _timer_reset(struct timeout_handler *handle)
+{
+       if (handle->timer)
+               ecore_timer_reset(handle->timer);
+       else
+               handle->timer = ecore_timer_add(handle->timeout,
+                               _timer_cb, handle);
+}
+
 static Eina_Bool _event_occured(void *data, int type, void *event)
 {
        struct timeout_handler *handle;
@@ -66,7 +75,7 @@ static Eina_Bool _event_occured(void *data, int type, void *event)
 
        handle->event_cb(handle->event_data, type, event);
 
-       timeout_handler_reset(handle);
+       _timer_reset(handle);
 
        return ECORE_CALLBACK_PASS_ON;
 }
@@ -75,26 +84,14 @@ void timeout_handler_enable(struct timeout_handler *handle, bool enable)
 {
        handle->enable = enable;
 
-       if (!enable) {
+       if (enable) {
+               _timer_reset(handle);
+       } else {
                ecore_timer_del(handle->timer);
                handle->timer = NULL;
        }
 }
 
-void timeout_handler_reset(struct timeout_handler *handle)
-{
-       if (!handle) {
-               _ERR("invalid parameter");
-               return;
-       }
-
-       if (handle->timer)
-               ecore_timer_reset(handle->timer);
-       else
-               handle->timer = ecore_timer_add(handle->timeout,
-                               _timer_cb, handle);
-}
-
 struct timeout_handler *timeout_handler_init(double timeout,
                timeout_event_cb timeout_cb, void *timeout_data,
                timeout_event_cb event_cb, void *event_data)
@@ -125,10 +122,6 @@ struct timeout_handler *timeout_handler_init(double timeout,
                handle->list = eina_list_append(handle->list, ev);
        }
 
-       handle->timer = ecore_timer_add(timeout, _timer_cb, handle);
-       if (!handle->timer)
-               goto error;
-
        handle->event_cb = event_cb;
        handle->event_data = event_data;
        handle->timeout_cb = timeout_cb;
index b0ac6ca..886ad6e 100644 (file)
@@ -936,7 +936,6 @@ static void _show(void *view_data)
        _viewer_show(priv, DIR_NONE);
 
        timeout_handler_enable(priv->timeout, true);
-       timeout_handler_reset(priv->timeout);
 
        evas_object_show(priv->base);
 }