diff --git a/legacy/evas/ChangeLog b/legacy/evas/ChangeLog index 81946fa2cc..a9e3ed4800 100644 --- a/legacy/evas/ChangeLog +++ b/legacy/evas/ChangeLog @@ -971,3 +971,7 @@ * Removed unnessesary lines which causes the gles resource leak and corruption. + +2012-08-21 Sung W. Park (sung_) + + * Fix evas_gl current_context update issue when evas_gl context is deleted. diff --git a/legacy/evas/NEWS b/legacy/evas/NEWS index 6abd81c219..4455de4fc5 100644 --- a/legacy/evas/NEWS +++ b/legacy/evas/NEWS @@ -28,6 +28,7 @@ Fixes: * Handle proxy with the right context. * Force proxied object to stay active to keep track of change in them. * Fix evas_gl's internal resource surface bug when evas' window is deleted/recreated. + * Fix evas_gl current_context update issue when evas_gl context is deleted. Removal: * Remove EVAS_FRAME_QUEUING, EVAS_SLI, METRIC_CACHE and WORD_CACHE. diff --git a/legacy/evas/src/modules/engines/gl_x11/evas_engine.c b/legacy/evas/src/modules/engines/gl_x11/evas_engine.c index 3f4193e915..80b5c90c7a 100644 --- a/legacy/evas/src/modules/engines/gl_x11/evas_engine.c +++ b/legacy/evas/src/modules/engines/gl_x11/evas_engine.c @@ -3848,6 +3848,9 @@ eng_gl_context_destroy(void *data, void *context) return 0; } + if (current_evgl_ctx == ctx) + current_evgl_ctx = NULL; + free(ctx); context = NULL; diff --git a/legacy/evas/src/modules/engines/wayland_egl/evas_engine.c b/legacy/evas/src/modules/engines/wayland_egl/evas_engine.c index 545bdab8fb..e403ae576c 100644 --- a/legacy/evas/src/modules/engines/wayland_egl/evas_engine.c +++ b/legacy/evas/src/modules/engines/wayland_egl/evas_engine.c @@ -2319,6 +2319,9 @@ eng_gl_context_destroy(void *data, void *context) return 0; } + if (current_evgl_ctx == ctx) + current_evgl_ctx = NULL; + free(ctx); context = NULL;