discomfitor pushed a commit to branch elementary-1.14. http://git.enlightenment.org/core/elementary.git/commit/?id=75c44e28aeeaf6e095f07ad1cc263bebf3d34033
commit 75c44e28aeeaf6e095f07ad1cc263bebf3d34033 Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Thu May 28 15:35:35 2015 -0400 glview: preserved changed state when altering render mode fixes the case where glview is marked changed and then the render policy is modified prior to the render callback executing @fix --- src/lib/elm_glview.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/elm_glview.c b/src/lib/elm_glview.c index 0792cc9..9c012d9 100644 --- a/src/lib/elm_glview.c +++ b/src/lib/elm_glview.c @@ -169,6 +169,8 @@ _set_render_policy_callback(Evas_Object *obj) switch (sd->render_policy) { case ELM_GLVIEW_RENDER_POLICY_ON_DEMAND: + if (sd->render_idle_enterer) + evas_object_image_pixels_dirty_set(wd->resize_obj, EINA_TRUE); // Delete idle_enterer if it for some reason is around ELM_SAFE_FREE(sd->render_idle_enterer, ecore_idle_enterer_del); @@ -180,6 +182,8 @@ _set_render_policy_callback(Evas_Object *obj) break; case ELM_GLVIEW_RENDER_POLICY_ALWAYS: + if (evas_object_image_pixels_dirty_get(wd->resize_obj)) + sd->render_idle_enterer = ecore_idle_enterer_before_add((Ecore_Task_Cb)_render_cb, obj); // Unset the pixel getter callback if set already evas_object_image_pixels_get_callback_set (wd->resize_obj, NULL, NULL); --