diff options
author | Eunki, Hong <eunkiki.hong@samsung.com> | 2024-07-10 14:18:19 +0900 |
---|---|---|
committer | Eunki, Hong <eunkiki.hong@samsung.com> | 2024-07-10 14:18:19 +0900 |
commit | 96b6b5c3f8ae2889b9f57cc31e57d75c0ec33998 (patch) | |
tree | 33ad781698aba2a47bb4fb7f1e22a73d4d8239f8 /dali | |
parent | 8d9dfabaf65217c47313c5a683ce12fd5aa94d44 (diff) | |
download | dali-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.cpp | 7 |
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 << "]"; }); |