From c59d222f6da28442bc9213bd6ec42590494e67de Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Mon, 30 May 2016 11:14:43 +0900 Subject: [PATCH] elm_hover: Fix crash with efl_part 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 | 8 ++++---- src/lib/elementary/elm_hover_internal_part.eo | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/lib/elementary/elm_hover.c b/src/lib/elementary/elm_hover.c index d83efb055d..b669da3b1d 100644 --- a/src/lib/elementary/elm_hover.c +++ b/src/lib/elementary/elm_hover.c @@ -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 */ diff --git a/src/lib/elementary/elm_hover_internal_part.eo b/src/lib/elementary/elm_hover_internal_part.eo index 80df3ae486..6506561d95 100644 --- a/src/lib/elementary/elm_hover_internal_part.eo +++ b/src/lib/elementary/elm_hover_internal_part.eo @@ -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;