mCreated( false ),
mResizeRequired( false ),
mPaused( false ),
- mPausedManually( false )
+ mPausedManually( false ),
+ mWindowVisible( true )
{
}
mCreated( false ),
mResizeRequired( false ),
mPaused( false ),
- mPausedManually( false )
+ mPausedManually( false ),
+ mWindowVisible( true )
{
}
}
mContentInfo = reinterpret_cast< char* >( contentInfo );
-
+ widget_instance_unref( instance );
return mContentInfo;
}
return;
}
ret = widget_instance_set_period( instance, mUpdatePeriod );
+ widget_instance_unref(instance);
if( ret < 0 )
{
DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "WidgetView::OnInitialize: widget_instance_set_period is failed [%s].\n", mWidgetId.c_str() );
void WidgetView::OnWindowVisibilityChanged( Window window, bool visible )
{
+ mWindowVisible = visible;
bool needPaused = IsOutOfScreen();
if( mPausedManually )
{
- mPaused = ( needPaused || !visible );
+ mPaused = ( needPaused || !mWindowVisible );
DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "Do not resume widget, because widget is paued manually \n");
return;
}
- if( visible )
+ if( mWindowVisible )
{
if( !needPaused)
{
{
PauseWidgetInternally();
}
-
DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "WidgetView::OnWindowVisibilityChanged: visibility is changed (visible: %d)\n", visible );
}
DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "WidgetView::ActivateFaultedWidget: widget_instance_launch is failed. [%s]\n", mWidgetId.c_str() );
ActivateFaultedWidget();
}
+ mPausedManually = false;
+ bool needPaused = IsOutOfScreen();
+ if( mWindowVisible )
+ {
+ if( !needPaused)
+ {
+ ResumeWidgetInternally();
+ }
+ }
+ else
+ {
+ PauseWidgetInternally();
+ }
}
}