Summary:
If you call efl_gfx_filter_program_set in a mouse event callback,
it does not work. Because render_pre removes area uisng evas_render_update_del.
Reviewers: Hermet, jpeg, jsuya, cedric
Reviewed By: Hermet, cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9301
Eina_Bool written : 1;
Eina_Bool direct_render : 1;
Eina_Bool has_filter : 1;
+ Eina_Bool changed_filter : 1;
Eina_Bool buffer_data_set : 1;
Eina_Bool native_video : 1; // TIZEN_ONLY(20171121) : support ROI mode (tbm rot, flip, ratio)
struct
{
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
- o->changed = 1;
+ o->changed = EINA_TRUE;
evas_object_change(eo_obj, obj);
+ o->changed_filter = EINA_TRUE;
}
EOLIAN static Eina_Bool
}
if (o->changed)
{
+ if (o->changed_filter)
+ {
+ evas_object_render_pre_prev_cur_add(&e->clip_changes, eo_obj, obj);
+ goto done;
+ }
if (((o->cur->f) && (!o->prev->f)) ||
((!o->cur->f) && (o->prev->f)) ||
((o->cur->key) && (!o->prev->key)) ||
}
}
o->changed = EINA_FALSE;
+ o->changed_filter = EINA_FALSE;
}
static void