From: taeyoon0.lee Date: Wed, 22 Mar 2017 13:30:02 +0000 (+0900) Subject: Fix crash by NULL remote surface X-Git-Tag: accepted/tizen/4.0/unified/20170920.081503~1^2~5 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fwidget-viewer-dali.git;a=commitdiff_plain;h=83a51b89cb51a0e1c56972647d7280aae05d8400 Fix crash by NULL remote surface - Fix crash by untialized remoteSurface member when widget viewer is terminated. Change-Id: I2ecb5295919b8cff5d9927c1beb6831d74af902e --- diff --git a/internal/widget_view/widget_view_impl.cpp b/internal/widget_view/widget_view_impl.cpp index 81cfea4..166da2d 100644 --- a/internal/widget_view/widget_view_impl.cpp +++ b/internal/widget_view/widget_view_impl.cpp @@ -105,6 +105,7 @@ DALI_ACTION_REGISTRATION( Dali::WidgetView, WidgetView, "activateFaultedWidget", DALI_TYPE_REGISTRATION_END() struct wl_buffer* preBuffer; +struct tizen_remote_surface* remoteSurface; const char* const STATE_TEXT( "stateText" ); const char* const FONT_STYLE( "fontStyle" ); @@ -141,6 +142,7 @@ static void OnBufferUpdated( struct tizen_remote_surface *surface, uint32_t type wl_buffer_destroy( preBuffer ); } + remoteSurface = surface; preBuffer = buffer; close( img_file_fd ); @@ -1069,9 +1071,9 @@ void WidgetView::CloseRemoteSurface() { if( mWatcherHandle != NULL ) { - if( preBuffer != NULL && tizen_remote_surface_get_version( mRemoteSurface ) >= TIZEN_REMOTE_SURFACE_RELEASE_SINCE_VERSION ) + if( remoteSurface != NULL && preBuffer != NULL && tizen_remote_surface_get_version( remoteSurface ) >= TIZEN_REMOTE_SURFACE_RELEASE_SINCE_VERSION ) { - tizen_remote_surface_release( mRemoteSurface, preBuffer ); + tizen_remote_surface_release( remoteSurface, preBuffer ); tbm_surface_h preTbmSurface = (tbm_surface_h)wl_buffer_get_user_data( preBuffer ); tbm_surface_internal_unref( preTbmSurface ); wl_buffer_destroy( preBuffer );