} // namespace
Ecore_Evas* prepared_ee = nullptr;
-Ecore_Evas* dummy_hw_ee = nullptr;
#if BUILDFLAG(IS_TIZEN_TV)
bool EflWindow::is_cursor_initialized_ = false;
if (ee_)
ecore_evas_free(ee_);
- if (dummy_hw_ee) {
- ecore_evas_free(dummy_hw_ee);
- dummy_hw_ee = nullptr;
- }
-
#if defined(TIZEN_VIDEO_HOLE)
media::VideoPlaneController::SetSharedVideoWindowHandle(
nullptr, media::VideoPlaneController::RenderingMode::ONSCREEN);
}
}
- // In the case of onscreen rendering, if Evas engine creates an egl window
- // then two egl windows will be created overall and it causes the egl
- // specification violation. So we use sw backend for main window rendering.
- // In the case of a Popup, it appears as a separate HW window. When this
- // Popup is closed, |eglTerminate| is called within the Evas engine. (When
- // the last window is released, the EGL resources are freed in the Evas
- // engine.) This will release all EGL resources for the entire process and it
- // causes rendering issue. To prevent this, creates dummy hw window.
- if (!dummy_hw_ee) {
- dummy_hw_ee = ecore_evas_new("wayland_egl", 0, 0, 1, 1, nullptr);
- }
-
evas_ = ecore_evas_get(ee_);
// Evas engine creates it's own egl window and egl surface to render.
namespace ui {
-EflWindowManager::EflWindowManager() = default;
-EflWindowManager::~EflWindowManager() = default;
+EflWindowManager::EflWindowManager() {
+ // In the case of onscreen rendering, if Evas engine creates an egl window
+ // then two egl windows will be created overall and it causes the egl
+ // specification violation. So we use sw backend for main window rendering.
+ // In the case of a Popup, it appears as a separate HW window. When this
+ // Popup is closed, |eglTerminate| is called within the Evas engine. (When
+ // the last window is released, the EGL resources are freed in the Evas
+ // engine.) This will release all EGL resources for the entire process and it
+ // causes rendering issue. To prevent this, creates dummy hw window.
+ dummy_hw_ee_ = ecore_evas_new("wayland_egl", 0, 0, 1, 1, nullptr);
+}
+
+EflWindowManager::~EflWindowManager() {
+ if (dummy_hw_ee_) {
+ ecore_evas_free(dummy_hw_ee_);
+ dummy_hw_ee_ = nullptr;
+ }
+}
void EflWindowManager::AddWindow(EflWindow* window, Evas_Object* eo) {
window_map_[eo] = window;