Summary:
_elm_legacy_add goes back to EINA_FALSE after setting sd->legacy.
if constructor get called again after going back to EINA_FALSE,
sd->legacy should remain EINA_TRUE.
also, elm_legacy_add() should not be called non-elm_widget.
Test Plan:
Run elementary test->Efl.Ui.Text.Label.
Check legacy flag in _elm_theme_object_set() for efl_ui_win.
Check legacy flag for efl_ui_text after scrollable text is added.
Reviewers: jpeg, woohyun
Reviewed By: jpeg
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5529
static Evas_Object *
_elm_pan_add(Evas *evas)
{
- return elm_legacy_add(MY_PAN_CLASS, evas);
+ return efl_add(MY_PAN_CLASS, evas, efl_canvas_object_legacy_ctor(efl_added));
}
EOLIAN static Eo *
Eo *parent = NULL;
sd->on_create = EINA_TRUE;
- sd->legacy = _elm_legacy_add;
- _elm_legacy_add = EINA_FALSE;
+ if (_elm_legacy_add)
+ {
+ sd->legacy = _elm_legacy_add;
+ _elm_legacy_add = EINA_FALSE;
+ }
efl_canvas_group_clipped_set(obj, EINA_FALSE);
obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);