DSRenderViewDaliImpl: remove actor from offscreen at destructor 16/242016/1
authorSooChan Lim <sc1.lim@samsung.com>
Fri, 21 Aug 2020 05:30:38 +0000 (14:30 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Fri, 21 Aug 2020 10:10:51 +0000 (19:10 +0900)
Change-Id: I967d9f5961f9f62b109f2321729114a2f3585d1f

src/DSRender/DSRenderViewDaliImpl.cpp
src/DSRender/DSRenderViewDaliImpl.h

index 5ec25c6..b76a004 100644 (file)
@@ -83,7 +83,8 @@ Geometry DSRenderViewDaliImpl::CreateTexturedQuad()
 }
 
 DSRenderViewDaliImpl::DSRenderViewDaliImpl(std::shared_ptr<DSWindow> window, Dali::OffscreenWindow offscreenWindow)
-       : __window(window)
+       : __window(window),
+         __offscreenWindow(offscreenWindow)
 {
        std::string fragmentShader = "#extension GL_OES_EGL_image_external:require\n";
        fragmentShader += FRAGMENT_SHADER;
@@ -108,6 +109,8 @@ DSRenderViewDaliImpl::DSRenderViewDaliImpl(std::shared_ptr<DSWindow> window, Dal
 
 DSRenderViewDaliImpl::~DSRenderViewDaliImpl()
 {
+       __textureViewActor.RemoveRenderer(__renderer);
+       __offscreenWindow.Remove(__textureViewActor);
 }
 
 bool DSRenderViewDaliImpl::setBuffer(std::shared_ptr<IDSBuffer> buffer)
index 1bb7698..47c72ff 100644 (file)
@@ -49,6 +49,7 @@ private:
        void __onWindowBufferChanged(std::shared_ptr<IDSBuffer> buffer);
 
        std::shared_ptr<DSWindow> __window;
+       Dali::OffscreenWindow     __offscreenWindow;
        Dali::Renderer            __renderer;
        Dali::Actor               __textureViewActor;
 };