Eina_Bool custom_effect_callee; /* custom effect enabled */
const char *appid;
+ Eina_Bool set_view_listener;
struct wl_listener view_destroy_listener;
struct wl_listener view_hide_listener;
};
return clients;
}
+static void
+_launch_splash_view_unset(E_Tizen_Launch_Effect_Splash *tzlaunch_splash)
+{
+ if (!tzlaunch_splash->view) return;
+
+ if (tzlaunch_splash->set_view_listener)
+ {
+ e_view_event_listener_del(tzlaunch_splash->view, E_VIEW_HIDE, &tzlaunch_splash->view_hide_listener);
+ e_view_event_listener_del(tzlaunch_splash->view, E_VIEW_DESTROY, &tzlaunch_splash->view_destroy_listener);
+ tzlaunch_splash->set_view_listener = EINA_FALSE;
+ }
+
+ tzlaunch_splash->view = NULL;
+}
+
static void
_launch_splash_off(E_Tizen_Launch_Effect_Splash *tzlaunch_splash)
{
ec = tzlaunch_splash->ec;
view_client = e_client_view_get(ec);
- tzlaunch_splash->view = NULL;
+ _launch_splash_view_unset(tzlaunch_splash);
tzlaunch_splash->ec = NULL;
tzlaunch_splash->valid = EINA_FALSE;
if (tzlaunch_splash->timeout) ecore_timer_del(tzlaunch_splash->timeout);
tzlaunch_splash->view_image = NULL;
tzlaunch_splash->view_edje = NULL;
- tzlaunch_splash->view = NULL;
+ _launch_splash_view_unset(tzlaunch_splash);
}
static void
e_view_destroy(e_view_image_view_get(splash->view_image));
splash->view_image = NULL;
- splash->view = NULL;
+ _launch_splash_view_unset(splash);
return EINA_FALSE;
}
e_view_destroy(e_view_edje_view_get(splash->view_edje));
splash->view_edje = NULL;
- splash->view = NULL;
+ _launch_splash_view_unset(splash);
return EINA_FALSE;
}
splash->view_hide_listener.notify = _launchscreen_splash_cb_view_hide;
e_view_event_listener_add(splash->view, E_VIEW_HIDE, &splash->view_hide_listener);
+
+ splash->set_view_listener = EINA_TRUE;
}
splash->valid = EINA_TRUE;
if (tzlaunch_splash->view)
{
e_view_destroy(tzlaunch_splash->view);
- tzlaunch_splash->view = NULL;
+ _launch_splash_view_unset(tzlaunch_splash);
}
}
}
if (tzlaunch_splash->view)
{
e_view_destroy(tzlaunch_splash->view);
- tzlaunch_splash->view = NULL;
+ _launch_splash_view_unset(tzlaunch_splash);
}
}
}
tzlaunch_splash = wl_resource_get_user_data(res_tzlaunch_splash);
EINA_SAFETY_ON_NULL_RETURN(tzlaunch_splash);
- if (tzlaunch_splash->view)
- {
- e_view_event_listener_del(tzlaunch_splash->view, E_VIEW_HIDE, &tzlaunch_splash->view_hide_listener);
- e_view_event_listener_del(tzlaunch_splash->view, E_VIEW_DESTROY, &tzlaunch_splash->view_destroy_listener);
- }
-
_launch_splash_off(tzlaunch_splash);
tzlaunch_effect = tzlaunch_splash->tzlaunch_effect;