cedric pushed a commit to branch master.

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

commit 20c9ff8e042ae0be4f085c531036dcbc380ce800
Author: Jee-Yong Um <jc9...@samsung.com>
Date:   Wed Jun 8 13:24:35 2016 -0700

    elementary: rearrange hoversel when its parent is resized
    
    Summary:
    Hoversel will be rearranged when its parent is resized.
    This patch was written by @godlytalias on tizen side.
    
    Reviewers: cedric
    
    Subscribers: jpeg, godlytalias
    
    Differential Revision: https://phab.enlightenment.org/D4025
    
    Signed-off-by: Cedric BAIL <ced...@osg.samsung.com>
---
 src/lib/elementary/elc_hoversel.c | 27 +++++++++++++++++++++++----
 1 file changed, 23 insertions(+), 4 deletions(-)

diff --git a/src/lib/elementary/elc_hoversel.c 
b/src/lib/elementary/elc_hoversel.c
index 8505c97..834cd69 100644
--- a/src/lib/elementary/elc_hoversel.c
+++ b/src/lib/elementary/elc_hoversel.c
@@ -551,6 +551,17 @@ _on_move_resize(void * data,
    _resizing_eval(obj, sd);
 }
 
+static void
+_on_parent_resize(void *data,
+                  Evas *e EINA_UNUSED,
+                  Evas_Object *parent_obj EINA_UNUSED,
+                  void *event_info EINA_UNUSED)
+{
+   Evas_Object *obj = (Evas_Object *)data;
+   ELM_HOVERSEL_DATA_GET(obj, sd);
+   _on_move_resize(sd, NULL, obj, NULL);
+}
+
 EOLIAN static void
 _elm_hoversel_evas_object_smart_add(Eo *obj, Elm_Hoversel_Data *priv)
 {
@@ -638,13 +649,21 @@ EOLIAN static void
 _elm_hoversel_hover_parent_set(Eo *obj, Elm_Hoversel_Data *sd, Evas_Object 
*parent)
 {
    if (sd->hover_parent)
-     evas_object_event_callback_del_full
-       (sd->hover_parent, EVAS_CALLBACK_DEL, _on_parent_del, obj);
+     {
+        evas_object_event_callback_del_full
+          (sd->hover_parent, EVAS_CALLBACK_DEL, _on_parent_del, obj);
+        evas_object_event_callback_del_full
+          (sd->hover_parent, EVAS_CALLBACK_RESIZE, _on_parent_resize, obj);
+     }
 
    sd->hover_parent = parent;
    if (sd->hover_parent)
-     evas_object_event_callback_add
-       (sd->hover_parent, EVAS_CALLBACK_DEL, _on_parent_del, obj);
+     {
+        evas_object_event_callback_add
+          (sd->hover_parent, EVAS_CALLBACK_DEL, _on_parent_del, obj);
+        evas_object_event_callback_add
+          (sd->hover_parent, EVAS_CALLBACK_RESIZE, _on_parent_resize, obj);
+     }
 }
 
 EOLIAN static Evas_Object*

-- 


Reply via email to