elm_hover: Fix crash with efl_part
authorJean-Philippe Andre <jp.andre@samsung.com>
Mon, 30 May 2016 02:14:43 +0000 (11:14 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Mon, 30 May 2016 02:14:43 +0000 (11:14 +0900)
This fixes T3714

Efl.Part uses a basic inheritance for layout objects, but somehow
this completely falls apart when the child class overrides all
the functions. Weird. I'll check that more.

src/lib/elementary/elm_hover.c
src/lib/elementary/elm_hover_internal_part.eo

index d83efb0..b669da3 100644 (file)
@@ -845,10 +845,10 @@ _elm_hover_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED
 
 /* Efl.Part begin */
 
-ELM_PART_OVERRIDE(elm_hover, ELM_HOVER, ELM_LAYOUT, Elm_Hover_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_SET(elm_hover, ELM_HOVER, ELM_LAYOUT, Elm_Hover_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_GET(elm_hover, ELM_HOVER, ELM_LAYOUT, Elm_Hover_Data, Elm_Part_Data)
-ELM_PART_OVERRIDE_CONTENT_UNSET(elm_hover, ELM_HOVER, ELM_LAYOUT, Elm_Hover_Data, Elm_Part_Data)
+ELM_PART_IMPLEMENT(elm_hover, ELM_HOVER, Elm_Hover_Data, Elm_Part_Data)
+ELM_PART_IMPLEMENT_CONTENT_SET(elm_hover, ELM_HOVER, Elm_Hover_Data, Elm_Part_Data)
+ELM_PART_IMPLEMENT_CONTENT_GET(elm_hover, ELM_HOVER, Elm_Hover_Data, Elm_Part_Data)
+ELM_PART_IMPLEMENT_CONTENT_UNSET(elm_hover, ELM_HOVER, Elm_Hover_Data, Elm_Part_Data)
 #include "elm_hover_internal_part.eo.c"
 
 /* Efl.Part end */
index 80df3ae..6506561 100644 (file)
@@ -1,7 +1,8 @@
-class Elm.Hover.Internal.Part (Elm.Layout.Internal.Part)
+class Elm.Hover.Internal.Part (Eo.Base, Efl.Container)
 {
-   data: null;
+   data: Elm_Part_Data;
    implements {
+      Eo.Base.destructor;
       Efl.Container.content.set;
       Efl.Container.content.get;
       Efl.Container.content_unset;