diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index d1871f6af..ce125200f 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -4894,7 +4894,7 @@ e_comp_top_window_at_xy_get(E_Comp *c, Evas_Coord x, Evas_Coord y, Ecore_X_Windo eina_list_free(ignore_list); cw = evas_object_data_get(o, "comp_win"); if (!cw) return c->ee_win; - return cw->win; + return cw->real_obj ? c->ee_win : cw->win; } EAPI E_Comp_Win * diff --git a/src/bin/e_dnd.c b/src/bin/e_dnd.c index a1fd340b8..91844051c 100644 --- a/src/bin/e_dnd.c +++ b/src/bin/e_dnd.c @@ -768,19 +768,13 @@ _e_drag_win_get(const E_Drop_Handler *h, int xdnd) hwin = ((E_Win *)(h->obj))->evas_win; break; - case E_ZONE_TYPE: - /* Not quite sure about this, probably need to set up - * E_Container to pass DND events from event_win to bg_win. */ - // hwin = ((E_Zone *)(h->obj))->container->event_win; - hwin = ((E_Zone *)(h->obj))->container->event_win; - break; - case E_BORDER_TYPE: hwin = ((E_Border *)(h->obj))->event_win; break; + case E_ZONE_TYPE: case E_POPUP_TYPE: - hwin = e_comp_get(h->obj)->win; + hwin = e_comp_get(h->obj)->ee_win; break; /* FIXME: add more types as needed */