summaryrefslogtreecommitdiff
path: root/dali
diff options
context:
space:
mode:
authorEunki, Hong <eunkiki.hong@samsung.com>2024-07-10 14:18:19 +0900
committerEunki, Hong <eunkiki.hong@samsung.com>2024-07-10 14:18:19 +0900
commit96b6b5c3f8ae2889b9f57cc31e57d75c0ec33998 (patch)
tree33ad781698aba2a47bb4fb7f1e22a73d4d8239f8 /dali
parent8d9dfabaf65217c47313c5a683ce12fd5aa94d44 (diff)
downloaddali-adaptor-96b6b5c3f8ae2889b9f57cc31e57d75c0ec33998.tar.gz
dali-adaptor-96b6b5c3f8ae2889b9f57cc31e57d75c0ec33998.tar.bz2
dali-adaptor-96b6b5c3f8ae2889b9f57cc31e57d75c0ec33998.zip
Remove list of egl context what egl hold
Since there was no way to remove mEglWindowContext, let we remove it when render-surface-interface call it. Note : The only user who don't call DestroyContext is native-render-surface-ecore-wl.cpp, and drawable-view-native-renderer.cpp We need to check the best way to detroy context for it now. But here, we should remove them, for the general cases Change-Id: I0329d50b2a75ea7b9c645673feb81e4aeca6523a Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Diffstat (limited to 'dali')
-rw-r--r--dali/internal/graphics/gles/egl-implementation.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/dali/internal/graphics/gles/egl-implementation.cpp b/dali/internal/graphics/gles/egl-implementation.cpp
index 384423b6d..5c95c0264 100644
--- a/dali/internal/graphics/gles/egl-implementation.cpp
+++ b/dali/internal/graphics/gles/egl-implementation.cpp
@@ -380,6 +380,13 @@ void EglImplementation::DestroyContext(EGLContext& eglContext)
{
if(eglContext)
{
+ // Remove from the list of contexts first.
+ auto iter = std::find(mEglWindowContexts.begin(), mEglWindowContexts.end(), eglContext);
+ if(iter != mEglWindowContexts.end())
+ {
+ mEglWindowContexts.erase(iter);
+ }
+
DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_EGL_DESTROY_CONTEXT", [&](std::ostringstream& oss) {
oss << "[display:" << mEglDisplay << ", context:" << eglContext << "]";
});