From 1c86d2723a232355405dd65e7249dd7dbcd95cb7 Mon Sep 17 00:00:00 2001 From: tscholb Date: Wed, 15 Dec 2021 14:31:13 +0900 Subject: [PATCH] Do not pause/resume when widget is not created if Widget is not created, we must not call any api for widget. so i added this patch Change-Id: I3c874209aa65be95605aa3f8b8509e424bd3b011 --- .../internal/widget_view/widget_view_impl.cpp | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp b/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp index 050d925..c174d8a 100644 --- a/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp +++ b/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp @@ -630,15 +630,15 @@ void WidgetView::SendWidgetEvent( int event ) widget_instance_resize(mInstanceId.c_str(), mWidth, mHeight); mResizeRequired = false; } - + break; + } + case WIDGET_INSTANCE_EVENT_RESUME: + { // Call Resume/Pause for reloading bool needPaused = IsOutOfScreen(); - if( mWindowVisible ) + if( mWindowVisible && !needPaused) { - if( !needPaused) - { - ResumeWidgetInternally(); - } + ResumeWidgetInternally(); } else { @@ -1104,12 +1104,9 @@ void WidgetView::OnWindowVisibilityChanged( Window window, bool visible ) return; } - if( mWindowVisible ) + if( mWindowVisible && !needPaused) { - if( !needPaused) - { - ResumeWidgetInternally(); - } + ResumeWidgetInternally(); } else { @@ -1120,6 +1117,12 @@ void WidgetView::OnWindowVisibilityChanged( Window window, bool visible ) void WidgetView::OnUpdateArea( Dali::PropertyNotification& source ) { + if(!mCreated) + { + DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "Do not pause/resume widget, because widget is not created \n"); + return; + } + bool needPaused = IsOutOfScreen(); if( mPausedManually ) { -- 2.34.1