efl_ui_focus_composition: get geometry from canvas object not adapter
authorMike Blumenkrantz <zmike@samsung.com>
Mon, 11 Mar 2019 15:45:18 +0000 (11:45 -0400)
committerJunsuChoi <jsuya.choi@samsung.com>
Fri, 15 Mar 2019 04:23:20 +0000 (13:23 +0900)
the adapter has no geometry, so we must use the object from the adapter data

ref D8287

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8295

src/lib/elementary/efl_ui_focus_composition.c

index 62fd45c..eb35d45 100644 (file)
@@ -234,7 +234,8 @@ _canvas_object_deleted(void *data, const Efl_Event *ev EINA_UNUSED)
 static void
 _new_geom(void *data, const Efl_Event *event EINA_UNUSED)
 {
-   Eina_Rect rect = efl_gfx_entity_geometry_get(data);
+   Efl_Ui_Focus_Composition_Adapter_Data *pd = efl_data_scope_get(data, EFL_UI_FOCUS_COMPOSITION_ADAPTER_CLASS);
+   Eina_Rect rect = efl_gfx_entity_geometry_get(pd->object);
    efl_event_callback_call(data, EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_GEOMETRY_CHANGED, &rect);
 }