From: Semun Lee Date: Tue, 5 Sep 2017 13:32:56 +0000 (+0900) Subject: Add timeout handler for manual render set X-Git-Tag: submit/tizen_3.0/20170908.130137~14 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8cb4f88dbd970ddd53803a8c39dfb8240d237240;p=platform%2Fcore%2Fappfw%2Fwidget-viewer.git Add timeout handler for manual render set Change-Id: I5ad867301ed87b40db268f87c669e3976689efbd Signed-off-by: Semun Lee --- diff --git a/watch-control/src/control.c b/watch-control/src/control.c index e5261d5d..f0d38924 100644 --- a/watch-control/src/control.c +++ b/watch-control/src/control.c @@ -74,6 +74,7 @@ static int __is_dead_signal_connected; static aul_app_com_connection_h __conn_dead_signal; static unsigned int __watch_rid; static bool __manual_render; +static guint __manual_render_timer; static bool __iconified = false; static bool __is_bound = false; static int __viewer_visibility = AUL_SCREEN_STATUS_RESUME; @@ -94,6 +95,8 @@ static aul_app_com_connection_h __conn_launch_signal; static int __listen_launch_signal(void); static void __ignore_launch_signal(void); static void __set_viewer_appid(void); +static void __manual_render_start(void); +static void __manual_render_finish(void); static void __process_pending_status(int status, unsigned int surf) { @@ -152,6 +155,14 @@ static void __win_resized(void *data, Evas *e, Evas_Object *obj, void *event_inf __default_height = h; } +static gboolean __manual_render_timeout(gpointer user_data) +{ + LOGW("manual render timeout expired"); + __manual_render_finish(); + __manual_render_timer = 0; + return G_SOURCE_REMOVE; +} + static void __manual_render_start(void) { Evas_Object *cur_image; @@ -183,6 +194,8 @@ static void __manual_render_start(void) screen_connector_toolkit_evas_send_visibility(cur_image, VISIBILITY_TYPE_UNOBSCURED); __manual_render = true; + + __manual_render_timer = g_timeout_add(100, __manual_render_timeout, NULL); LOGI("Manual render start"); } @@ -210,6 +223,10 @@ static void __manual_render_finish(void) } __manual_render = false; + if (__manual_render_timer > 0) { + g_source_remove(__manual_render_timer); + __manual_render_timer = 0; + } } static Eina_Bool __iconify_state_changed(void *data, int type, void *event)