diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2015-04-14 20:52:38 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2015-04-14 21:04:01 +0900 |
commit | bf2170eb8bdf7e8ca75c7c584f017b4fc1a45080 (patch) | |
tree | 4582592ff13a2fc905259eea0f0fecaa745d05a7 | |
parent | 3707c0b985611c2e6d23dbe75361dc756c2e36f6 (diff) | |
download | elementary-bf2170eb8bdf7e8ca75c7c584f017b4fc1a45080.tar.gz |
elm_glview: make_current(NULL, NULL) before delete
The surface and context should not be current when deleted.
Evas GL would work just fine but since it deletes the surface
and context immediately upon request, those should not be
current.
This is a slightly different behaviour from EGL.
-rw-r--r-- | src/lib/elm_glview.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/elm_glview.c b/src/lib/elm_glview.c index 0c4e64310..0792cc99f 100644 --- a/src/lib/elm_glview.c +++ b/src/lib/elm_glview.c @@ -54,6 +54,8 @@ _glview_update_surface(Evas_Object *obj) ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); if (!sd) return; + evas_gl_make_current(sd->evasgl, NULL, NULL); + if (sd->surface) { evas_object_image_native_surface_set(wd->resize_obj, NULL); @@ -270,6 +272,7 @@ _elm_glview_evas_object_smart_del(Eo *obj, Elm_Glview_Data *sd) } ecore_idle_enterer_del(sd->render_idle_enterer); + evas_gl_make_current(sd->evasgl, NULL, NULL); if (sd->surface) { |