{
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;
mEcoreEventHander( true ),
mIsFocusAcceptable( true ),
mVisible( true ),
+ mIconified( false ),
mOpaqueState( false ),
mResizeEnabled( false ),
mIndicator( NULL ),
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();
+ }
}
}
{
mVisible = false;
ecore_wl_window_hide( mEventHandler->mEcoreWindow );
+
+ if( !mIconified )
+ {
+ if( mAdaptor )
+ {
+ WindowVisibilityObserver* observer( mAdaptor );
+ observer->OnWindowHidden();
+ }
+ }
}
bool Window::IsVisible() const