herdsman pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c0e4a218dd06ecf790a5338c4fcc09a4073dba0c

commit c0e4a218dd06ecf790a5338c4fcc09a4073dba0c
Author: Daniel Hirt <[email protected]>
Date:   Thu Jun 29 21:33:12 2017 +0300

    Elm layout: fix broken text part name resolving
    
    This adds a few workaround to overcome the efl_part port.
    Quite a few layouts got broken in some specific cases.
---
 src/lib/elementary/elc_multibuttonentry.c | 2 +-
 src/lib/elementary/elc_popup.c            | 2 +-
 src/lib/elementary/elm_actionslider.c     | 3 +++
 src/lib/elementary/elm_bubble.c           | 1 +
 src/lib/elementary/elm_label.c            | 1 +
 src/lib/elementary/elm_layout.c           | 5 +----
 6 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/lib/elementary/elc_multibuttonentry.c 
b/src/lib/elementary/elc_multibuttonentry.c
index c982803062..ea4c23ff59 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -1523,7 +1523,7 @@ _elm_multibuttonentry_text_set(Eo *obj, 
Elm_Multibuttonentry_Data *sd EINA_UNUSE
 {
    Eina_Bool int_ret = EINA_TRUE;
 
-   if (!part || !strcmp(part, "default"))
+   if (!part || !strcmp(part, "default") || !strcmp(part, "elm.text"))
      {
         if (label) _label_set(obj, label);
         int_ret = EINA_TRUE;
diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c
index 45862b0901..e3ef8425af 100644
--- a/src/lib/elementary/elc_popup.c
+++ b/src/lib/elementary/elc_popup.c
@@ -1062,7 +1062,7 @@ _elm_popup_text_set(Eo *obj, Elm_Popup_Data *_pd, const 
char *part, const char *
 {
    Eina_Bool int_ret = EINA_FALSE;
 
-   if (!part || !strcmp(part, "default"))
+   if (!part || !strcmp(part, "default") || !strcmp(part, "elm.text"))
      int_ret = _content_text_set(obj, label);
    else if (!strcmp(part, "title,text"))
      int_ret = _title_text_set(obj, label);
diff --git a/src/lib/elementary/elm_actionslider.c 
b/src/lib/elementary/elm_actionslider.c
index 95f4cd6b42..80888bbcc0 100644
--- a/src/lib/elementary/elm_actionslider.c
+++ b/src/lib/elementary/elm_actionslider.c
@@ -457,6 +457,8 @@ _elm_actionslider_text_set(Eo *obj, Elm_Actionslider_Data 
*_pd EINA_UNUSED, cons
    Eina_Bool int_ret = EINA_TRUE;
 
    _mirrored_part_fix(obj, &part);
+
+   if (!part || !strcmp(part, "elm.text")) part = _text_aliases[0].real_part;
    efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), text);
 
    return int_ret;
@@ -469,6 +471,7 @@ _elm_actionslider_text_get(Eo *obj, Elm_Actionslider_Data 
*_pd EINA_UNUSED, cons
 
    _mirrored_part_fix(obj, &part);
 
+   if (!part) part = _text_aliases[0].real_part;
    text = efl_text_get(efl_part(efl_super(obj, MY_CLASS), part));
 
    return text;
diff --git a/src/lib/elementary/elm_bubble.c b/src/lib/elementary/elm_bubble.c
index 520a16198d..51f2de1d59 100644
--- a/src/lib/elementary/elm_bubble.c
+++ b/src/lib/elementary/elm_bubble.c
@@ -121,6 +121,7 @@ _elm_bubble_text_set(Eo *obj, Elm_Bubble_Data *_pd 
EINA_UNUSED, const char *part
 {
    Eina_Bool int_ret = EINA_TRUE;
 
+   if (!part) part = _text_aliases[0].real_part;
    efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label);
    if (!int_ret) return EINA_FALSE;
 
diff --git a/src/lib/elementary/elm_label.c b/src/lib/elementary/elm_label.c
index 10a009cda1..7a5f65e2a9 100644
--- a/src/lib/elementary/elm_label.c
+++ b/src/lib/elementary/elm_label.c
@@ -348,6 +348,7 @@ _elm_label_text_set(Eo *obj, Elm_Label_Data *sd, const char 
*part, const char *l
    if (!label) label = "";
    _label_format_set(wd->resize_obj, sd->format);
 
+   if (!part) part = _text_aliases[0].real_part;
    efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label);
 
    if (int_ret)
diff --git a/src/lib/elementary/elm_layout.c b/src/lib/elementary/elm_layout.c
index b15c99c241..5aa13a942b 100644
--- a/src/lib/elementary/elm_layout.c
+++ b/src/lib/elementary/elm_layout.c
@@ -2325,10 +2325,7 @@ elm_layout_table_clear(Elm_Layout *obj, const char 
*part, Eina_Bool clear)
 EAPI Eina_Bool
 elm_layout_text_set(Elm_Layout *obj, const char *part, const char *text)
 {
-   if (!part || (*part == '\0'))
-     {
-        part = "elm.text";
-     }
+   if (!part) part = "elm.text";
    efl_text_set(efl_part(obj, part), text);
    return EINA_TRUE;
 }

-- 


Reply via email to