From: Sunghyun Kim Date: Wed, 4 Nov 2020 06:53:37 +0000 (+0900) Subject: Delete ReloadFlag X-Git-Tag: submit/tizen/20201105.023207^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=838bca8a61a7fbb24ce8ce35efff95c728d09222;p=platform%2Fcore%2Fuifw%2Fwidget-viewer-dali.git Delete ReloadFlag 1. ReloadFlag don't need now. Sometimes this flag can make a crash. 2. To avoid the crash, WidgetView need to check WatchHandle when it dispose old buffer. Change-Id: I22b7582baa5115c4b39d748e0dd39861f05714be --- 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 74bf1a6..f1a49a3 100644 --- a/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp +++ b/widget_viewer_dali/internal/widget_view/widget_view_impl.cpp @@ -259,7 +259,6 @@ static void OnSurfaceRemoved( const char *appid, const char *instance_id, const if( widgetView && !widgetView->IsWidgetFaulted() ) { widgetView->CloseRemoteSurface(); - widgetView->SetReloadFlag( true ); } } @@ -300,7 +299,6 @@ WidgetView::WidgetView() mWatcherHandle( NULL ), mRemoteSurface( NULL ), mBuffer( NULL ), - mReloadFlag( false ), mCreated( false ), mResizeRequired( false ), mPaused( false ), @@ -328,7 +326,6 @@ WidgetView::WidgetView( const std::string& widgetId, const std::string& contentI mWatcherHandle( NULL ), mRemoteSurface( NULL ), mBuffer( NULL ), - mReloadFlag( false ), mCreated( false ), mResizeRequired( false ), mPaused( false ), @@ -699,10 +696,7 @@ void WidgetView::SendWidgetEvent( int event ) case WIDGET_INSTANCE_EVENT_FAULT: { mWidgetFaultedSignal.Emit( handle ); - if( mReloadFlag == false ) - { - CloseRemoteSurface(); - } + CloseRemoteSurface(); break; } case WIDGET_INSTANCE_EVENT_CREATE_ABORTED: @@ -1367,11 +1361,6 @@ void WidgetView::CloseRemoteSurface() } } -void WidgetView::SetReloadFlag( bool reload) -{ - mReloadFlag = reload; -} - void WidgetView::ShowLoadingState( bool show ) { if( mPreviewImage && mPreviewVisible ) @@ -1706,7 +1695,14 @@ void WidgetView::UpdateBuffer( struct tizen_remote_surface *surface, struct wl_b if( mBuffer != NULL && tizen_remote_surface_get_version( surface ) >= TIZEN_REMOTE_SURFACE_RELEASE_SINCE_VERSION ) { - screen_connector_toolkit_dispose_buffer( mWatcherHandle , mBuffer ); + if( mWatcherHandle != NULL ) + { + screen_connector_toolkit_dispose_buffer( mWatcherHandle , mBuffer ); + } + else + { + DALI_LOG_ERROR("WidgetView can't dispose buffer because mWatcherHandle is invalid. "); + } } mRemoteSurface = surface; @@ -1732,7 +1728,6 @@ void WidgetView::ReloadWidget() DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "WidgetView::ActivateFaultedWidget: widget_instance_launch is failed. [%s]\n", mWidgetId.c_str() ); ActivateFaultedWidget(); } - SetReloadFlag( false ); } } diff --git a/widget_viewer_dali/internal/widget_view/widget_view_impl.h b/widget_viewer_dali/internal/widget_view/widget_view_impl.h index d206604..12c5a43 100644 --- a/widget_viewer_dali/internal/widget_view/widget_view_impl.h +++ b/widget_viewer_dali/internal/widget_view/widget_view_impl.h @@ -354,7 +354,6 @@ private: screen_connector_toolkit_h mWatcherHandle; tizen_remote_surface* mRemoteSurface; wl_buffer* mBuffer; - bool mReloadFlag; bool mCreated; bool mResizeRequired; bool mPaused;