forked from enlightenment/efl
elm - dont get top widget for non-ui objects
This commit is contained in:
parent
93e833d8cd
commit
5db6b05187
|
@ -115,15 +115,18 @@ _wl_default_seat_id_get(Evas_Object *obj)
|
|||
|
||||
if (obj)
|
||||
{
|
||||
Eo *top = elm_widget_top_get(obj);
|
||||
if (efl_isa(top, EFL_UI_WIN_INLINED_CLASS))
|
||||
if (efl_isa(obj, EFL_UI_WIDGET_CLASS))
|
||||
{
|
||||
parent2 = efl_ui_win_inlined_parent_get(top);
|
||||
if (parent2) obj = elm_widget_top_get(parent2) ?: parent2;
|
||||
Eo *top = elm_widget_top_get(obj);
|
||||
if (efl_isa(top, EFL_UI_WIN_INLINED_CLASS))
|
||||
{
|
||||
parent2 = efl_ui_win_inlined_parent_get(top);
|
||||
if (parent2) obj = elm_widget_top_get(parent2) ?: parent2;
|
||||
}
|
||||
/* fake win means canvas seat id will not match protocol seat id */
|
||||
ewin = elm_win_get(obj);
|
||||
if (elm_win_type_get(ewin) == ELM_WIN_FAKE) obj = NULL;
|
||||
}
|
||||
/* fake win means canvas seat id will not match protocol seat id */
|
||||
ewin = elm_win_get(obj);
|
||||
if (elm_win_type_get(ewin) == ELM_WIN_FAKE) obj = NULL;
|
||||
}
|
||||
|
||||
if (!obj)
|
||||
|
|
|
@ -21,9 +21,10 @@ struct _Efl_Ui_Dnd_Container_Data
|
|||
|
||||
extern int _wl_default_seat_id_get(Evas_Object *obj);
|
||||
|
||||
static inline Eo*
|
||||
static inline Eo *
|
||||
_selection_manager_get(Eo *obj)
|
||||
{
|
||||
if (!efl_isa(obj, EFL_UI_WIDGET_CLASS)) return NULL;
|
||||
Eo *top = elm_widget_top_get(obj);
|
||||
if (!top)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue