seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=29997cdfc7002a5511e97a07ffd440422fe6ce0e

commit 29997cdfc7002a5511e97a07ffd440422fe6ce0e
Author: Jaehyun Cho <[email protected]>
Date:   Fri Oct 18 19:52:55 2013 +0900

    [elm_widget] Enable not to add resize object to or delete resize object 
from smart member when the resize object is set.
    
    Summary: Currently if the third argument of elm_widget_resize_object_set, 
'Eina_Bool sub_obj', indicates whether a resize object is added to/deleted from 
the sub object or not. This commit makes the third argument, 'sub_obj', also 
indicate whether a resize object is added to/deleted from the smart member or 
not.
    
    Reviewers: Hermet, seoz
    
    Reviewed By: seoz
    
    CC: seoz
    
    Differential Revision: https://phab.enlightenment.org/D268
---
 src/lib/elm_widget.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c
index 7f434ac..25340bd 100644
--- a/src/lib/elm_widget.c
+++ b/src/lib/elm_widget.c
@@ -1190,9 +1190,8 @@ _elm_widget_sub_object_del(Eo *obj, void *_pd, va_list 
*list)
 /*
  * @internal
  *
- * a resize object is a smart member of the parent.
- * a resize object is added to and deleted from the sub object of the parent
- * if the third argument, Eina_Bool sub_obj, is set as EINA_TRUE.
+ * a resize object is added to and deleted from the smart member and the sub 
object
+ * of the parent if the third argument, Eina_Bool sub_obj, is set as EINA_TRUE.
  */
 EAPI void
 elm_widget_resize_object_set(Evas_Object *obj,
@@ -1215,7 +1214,7 @@ _elm_widget_resize_object_set(Eo *obj, void *_pd, va_list 
*list)
    if (sd->resize_obj == sobj) return;
 
    // orphan previous resize obj
-   if (sd->resize_obj)
+   if (sd->resize_obj && sub_obj)
      {
         evas_object_clip_unset(sd->resize_obj);
         evas_object_smart_member_del(sd->resize_obj);
@@ -1224,8 +1223,7 @@ _elm_widget_resize_object_set(Eo *obj, void *_pd, va_list 
*list)
           {
              if (elm_widget_focus_get(sd->resize_obj)) _parents_unfocus(obj);
           }
-
-        if (sub_obj) elm_widget_sub_object_del(obj, sd->resize_obj);
+        elm_widget_sub_object_del(obj, sd->resize_obj);
      }
 
    sd->resize_obj = sobj;
@@ -1246,9 +1244,11 @@ _elm_widget_resize_object_set(Eo *obj, void *_pd, 
va_list *list)
                elm_widget_sub_object_del(parent, sobj);
           }
      }
-   if (sub_obj) elm_widget_sub_object_add(obj, sobj);
-
-   evas_object_smart_member_add(sobj, obj);
+   if (sub_obj)
+     {
+        elm_widget_sub_object_add(obj, sobj);
+        evas_object_smart_member_add(sobj, obj);
+     }
 
    _smart_reconfigure(sd);
 }

-- 


Reply via email to