forked from enlightenment/efl
efl_ui_widget: Fix disabled set calling without meaning.
Summary: The efl_ui_widget_disabled_set calling even the state is not change when widget create and destroy. It broken backward compatibility. T7799 @fix Reviewers: bu5hm4n, Jaehyun_Cho Reviewed By: Jaehyun_Cho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8600
This commit is contained in:
parent
2009aa3e28
commit
41189a0051
|
@ -1373,8 +1373,16 @@ _disabled_counter_get(Eo *widget)
|
|||
static void
|
||||
_mirror_disabled_state(Eo *obj, Elm_Widget_Smart_Data *pd, int disabled_delta)
|
||||
{
|
||||
int prev_disabled = pd->disabled;
|
||||
|
||||
pd->disabled = (pd->parent_obj ? _disabled_counter_get(pd->parent_obj) : 0) + disabled_delta;
|
||||
|
||||
//The current disabled state is the same as the parent
|
||||
//when the parent is assigned or changed, no further action is required.
|
||||
if (((prev_disabled > 0 && pd->disabled > 0)) ||
|
||||
((prev_disabled <= 0 && pd->disabled <= 0)))
|
||||
return;
|
||||
|
||||
//we should not call disabled_set when things are invalidated
|
||||
//otherwise we will unleashe an amount of errors in efl_ui_layout
|
||||
if (efl_invalidated_get(obj)) return;
|
||||
|
|
Loading…
Reference in New Issue