forked from enlightenment/efl
fileselector_entry: Delay elm_layout_theme_set until memebers are initialized in _smart_add
Summary: elm_layout_theme_set can call some methods like _smart_disable and there are some warnings when these methods manipulate some member variabls which are not initialized yet. It's because elm_layout_theme_set is called too early in _smart_add. Spotted while digging warnings after rELM4c3e23de9e46 Reviewers: seoz, raster Reviewed By: seoz Differential Revision: https://phab.enlightenment.org/D459
This commit is contained in:
parent
74ea068ff5
commit
7d72dd6c35
|
@ -349,15 +349,10 @@ _elm_fileselector_entry_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
|
|||
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
|
||||
elm_widget_sub_object_parent_add(obj);
|
||||
|
||||
if (!elm_layout_theme_set
|
||||
(obj, "fileselector_entry", "base", elm_widget_style_get(obj)))
|
||||
CRI("Failed to set layout!");
|
||||
|
||||
priv->button = elm_fileselector_button_add(obj);
|
||||
elm_widget_mirrored_automatic_set(priv->button, EINA_FALSE);
|
||||
elm_widget_style_set(priv->button, "fileselector_entry/default");
|
||||
|
||||
elm_layout_content_set(obj, "elm.swallow.button", priv->button);
|
||||
elm_fileselector_button_expandable_set
|
||||
(priv->button, _elm_config->fileselector_expand_enable);
|
||||
|
||||
|
@ -374,7 +369,6 @@ _elm_fileselector_entry_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
|
|||
elm_widget_style_set(priv->entry, "fileselector_entry/default");
|
||||
elm_entry_single_line_set(priv->entry, EINA_TRUE);
|
||||
elm_entry_editable_set(priv->entry, EINA_TRUE);
|
||||
elm_layout_content_set(obj, "elm.swallow.entry", priv->entry);
|
||||
|
||||
#define SIG_FWD(name) \
|
||||
evas_object_smart_callback_add(priv->entry, SIG_##name, _##name##_fwd, obj)
|
||||
|
@ -391,6 +385,15 @@ _elm_fileselector_entry_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
|
|||
SIG_FWD(SELECTION_CUT);
|
||||
#undef SIG_FWD
|
||||
|
||||
if (!elm_layout_theme_set
|
||||
(obj, "fileselector_entry", "base", elm_widget_style_get(obj)))
|
||||
CRI("Failed to set layout!");
|
||||
else
|
||||
{
|
||||
elm_layout_content_set(obj, "elm.swallow.button", priv->button);
|
||||
elm_layout_content_set(obj, "elm.swallow.entry", priv->entry);
|
||||
}
|
||||
|
||||
elm_widget_can_focus_set(obj, EINA_FALSE);
|
||||
|
||||
_mirrored_set(obj, elm_widget_mirrored_get(obj));
|
||||
|
|
Loading…
Reference in New Issue