summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2015-04-14 20:52:38 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2015-04-14 21:04:01 +0900
commitbf2170eb8bdf7e8ca75c7c584f017b4fc1a45080 (patch)
tree4582592ff13a2fc905259eea0f0fecaa745d05a7
parent3707c0b985611c2e6d23dbe75361dc756c2e36f6 (diff)
downloadelementary-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.c3
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)
{