X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=adaptors%2Fecore%2Fwayland%2Fwindow-impl-ecore-wl.cpp;h=d4265b40137ae405941bf5b1cb886ce70b236ff2;hb=4e94111287a5999f5d3fd124a27b6c2792d0ff0f;hp=12ec48cfe99d3841708451ee31c385730baa74ac;hpb=4a48855d64a579ae90a2f15c5bfc1b69c135dca0;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/adaptors/ecore/wayland/window-impl-ecore-wl.cpp b/adaptors/ecore/wayland/window-impl-ecore-wl.cpp index 12ec48c..d4265b4 100644 --- a/adaptors/ecore/wayland/window-impl-ecore-wl.cpp +++ b/adaptors/ecore/wayland/window-impl-ecore-wl.cpp @@ -155,12 +155,20 @@ struct Window::EventHandler { if( iconifyChangedEvent->iconified == EINA_TRUE ) { - observer->OnWindowHidden(); + handler->mWindow->mIconified = true; + if( handler->mWindow->mVisible ) + { + observer->OnWindowHidden(); + } DALI_LOG_INFO( gWindowLogFilter, Debug::General, "Window (%d) Iconfied\n", handler->mEcoreWindow ); } else { - observer->OnWindowShown(); + handler->mWindow->mIconified = false; + if( handler->mWindow->mVisible ) + { + observer->OnWindowShown(); + } DALI_LOG_INFO( gWindowLogFilter, Debug::General, "Window (%d) Shown\n", handler->mEcoreWindow ); } handled = ECORE_CALLBACK_DONE; @@ -497,6 +505,7 @@ Window::Window() mEcoreEventHander( true ), mIsFocusAcceptable( true ), mVisible( true ), + mIconified( false ), mOpaqueState( false ), mResizeEnabled( false ), mIndicator( NULL ), @@ -875,10 +884,13 @@ void Window::Show() mVisible = true; ecore_wl_window_show( mEventHandler->mEcoreWindow ); - // Need an update request - if( mAdaptor ) + if( !mIconified ) { - mAdaptor->RequestUpdateOnce(); + if( mAdaptor ) + { + WindowVisibilityObserver* observer( mAdaptor ); + observer->OnWindowShown(); + } } } @@ -886,6 +898,15 @@ void Window::Hide() { mVisible = false; ecore_wl_window_hide( mEventHandler->mEcoreWindow ); + + if( !mIconified ) + { + if( mAdaptor ) + { + WindowVisibilityObserver* observer( mAdaptor ); + observer->OnWindowHidden(); + } + } } bool Window::IsVisible() const