summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2015-05-28 15:35:35 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2015-05-28 15:36:25 -0400
commitb758ec329c9f03f0a8f85092b659917351f66029 (patch)
tree818c7959ff447b1d9446da8a1e1033966a093a37
parent0d8e2479b3a7f0b4ca343435e8a24676fd6bfc67 (diff)
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
-rw-r--r--src/lib/elm_glview.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/elm_glview.c b/src/lib/elm_glview.c
index 559d698d0..8530c5427 100644
--- a/src/lib/elm_glview.c
+++ b/src/lib/elm_glview.c
@@ -169,6 +169,8 @@ _set_render_policy_callback(Evas_Object *obj)
169 switch (sd->render_policy) 169 switch (sd->render_policy)
170 { 170 {
171 case ELM_GLVIEW_RENDER_POLICY_ON_DEMAND: 171 case ELM_GLVIEW_RENDER_POLICY_ON_DEMAND:
172 if (sd->render_idle_enterer)
173 evas_object_image_pixels_dirty_set(wd->resize_obj, EINA_TRUE);
172 // Delete idle_enterer if it for some reason is around 174 // Delete idle_enterer if it for some reason is around
173 ELM_SAFE_FREE(sd->render_idle_enterer, ecore_idle_enterer_del); 175 ELM_SAFE_FREE(sd->render_idle_enterer, ecore_idle_enterer_del);
174 176
@@ -180,6 +182,8 @@ _set_render_policy_callback(Evas_Object *obj)
180 break; 182 break;
181 183
182 case ELM_GLVIEW_RENDER_POLICY_ALWAYS: 184 case ELM_GLVIEW_RENDER_POLICY_ALWAYS:
185 if (evas_object_image_pixels_dirty_get(wd->resize_obj))
186 sd->render_idle_enterer = ecore_idle_enterer_before_add((Ecore_Task_Cb)_render_cb, obj);
183 // Unset the pixel getter callback if set already 187 // Unset the pixel getter callback if set already
184 evas_object_image_pixels_get_callback_set 188 evas_object_image_pixels_get_callback_set
185 (wd->resize_obj, NULL, NULL); 189 (wd->resize_obj, NULL, NULL);