forked from enlightenment/efl
ecore/edje/elm: Fix a few WRN from calls to NULL
This fixes some of the warnings generated by calling functions on NULL objects. One of the main remaining points is to avoid unwanted warnings on non-existing parts. Ref T6326
This commit is contained in:
parent
f2b5b00ca2
commit
a92186be6a
|
@ -417,12 +417,12 @@ static Eina_Bool
|
||||||
_ecore_event_evas_key(Ecore_Event_Key *e, Ecore_Event_Press press)
|
_ecore_event_evas_key(Ecore_Event_Key *e, Ecore_Event_Press press)
|
||||||
{
|
{
|
||||||
Ecore_Input_Window *lookup;
|
Ecore_Input_Window *lookup;
|
||||||
|
Eo *seat;
|
||||||
|
|
||||||
lookup = _ecore_event_window_match(e->event_window);
|
lookup = _ecore_event_window_match(e->event_window);
|
||||||
if (!lookup) return ECORE_CALLBACK_PASS_ON;
|
if (!lookup) return ECORE_CALLBACK_PASS_ON;
|
||||||
ecore_event_evas_seat_modifier_lock_update(lookup->evas,
|
seat = e->dev ? efl_input_device_seat_get(e->dev) : NULL;
|
||||||
e->modifiers,
|
ecore_event_evas_seat_modifier_lock_update(lookup->evas, e->modifiers, seat);
|
||||||
efl_input_device_seat_get(e->dev));
|
|
||||||
if (press == ECORE_DOWN)
|
if (press == ECORE_DOWN)
|
||||||
{
|
{
|
||||||
if (!lookup->direct ||
|
if (!lookup->direct ||
|
||||||
|
@ -531,9 +531,8 @@ _ecore_event_evas_mouse_button(Ecore_Event_Mouse_Button *e, Ecore_Event_Press pr
|
||||||
|
|
||||||
if (e->multi.device == 0)
|
if (e->multi.device == 0)
|
||||||
{
|
{
|
||||||
ecore_event_evas_seat_modifier_lock_update(lookup->evas,
|
Eo *seat = e->dev ? efl_input_device_seat_get(e->dev) : NULL;
|
||||||
e->modifiers,
|
ecore_event_evas_seat_modifier_lock_update(lookup->evas, e->modifiers, seat);
|
||||||
efl_input_device_seat_get(e->dev));
|
|
||||||
if (press == ECORE_DOWN)
|
if (press == ECORE_DOWN)
|
||||||
{
|
{
|
||||||
if (!lookup->direct ||
|
if (!lookup->direct ||
|
||||||
|
@ -612,10 +611,9 @@ ecore_event_evas_mouse_move(void *data EINA_UNUSED, int type EINA_UNUSED, void *
|
||||||
if (!lookup) return ECORE_CALLBACK_PASS_ON;
|
if (!lookup) return ECORE_CALLBACK_PASS_ON;
|
||||||
if (e->multi.device == 0)
|
if (e->multi.device == 0)
|
||||||
{
|
{
|
||||||
|
Eo *seat = e->dev ? efl_input_device_seat_get(e->dev) : NULL;
|
||||||
_ecore_event_evas_push_mouse_move(e);
|
_ecore_event_evas_push_mouse_move(e);
|
||||||
ecore_event_evas_seat_modifier_lock_update(lookup->evas,
|
ecore_event_evas_seat_modifier_lock_update(lookup->evas, e->modifiers, seat);
|
||||||
e->modifiers,
|
|
||||||
efl_input_device_seat_get(e->dev));
|
|
||||||
if (!lookup->direct ||
|
if (!lookup->direct ||
|
||||||
!lookup->direct(lookup->window, ECORE_EVENT_MOUSE_MOVE, e))
|
!lookup->direct(lookup->window, ECORE_EVENT_MOUSE_MOVE, e))
|
||||||
{
|
{
|
||||||
|
@ -671,12 +669,13 @@ static Eina_Bool
|
||||||
_ecore_event_evas_mouse_io(Ecore_Event_Mouse_IO *e, Ecore_Event_IO io)
|
_ecore_event_evas_mouse_io(Ecore_Event_Mouse_IO *e, Ecore_Event_IO io)
|
||||||
{
|
{
|
||||||
Ecore_Input_Window *lookup;
|
Ecore_Input_Window *lookup;
|
||||||
|
Eo *seat;
|
||||||
|
|
||||||
lookup = _ecore_event_window_match(e->event_window);
|
lookup = _ecore_event_window_match(e->event_window);
|
||||||
if (!lookup) return ECORE_CALLBACK_PASS_ON;
|
if (!lookup) return ECORE_CALLBACK_PASS_ON;
|
||||||
ecore_event_evas_seat_modifier_lock_update(lookup->evas,
|
seat = e->dev ? efl_input_device_seat_get(e->dev) : NULL;
|
||||||
e->modifiers,
|
ecore_event_evas_seat_modifier_lock_update(lookup->evas, e->modifiers, seat);
|
||||||
efl_input_device_seat_get(e->dev));
|
|
||||||
switch (io)
|
switch (io)
|
||||||
{
|
{
|
||||||
case ECORE_IN:
|
case ECORE_IN:
|
||||||
|
@ -718,12 +717,13 @@ ecore_event_evas_mouse_wheel(void *data EINA_UNUSED, int type EINA_UNUSED, void
|
||||||
{
|
{
|
||||||
Ecore_Event_Mouse_Wheel *e;
|
Ecore_Event_Mouse_Wheel *e;
|
||||||
Ecore_Input_Window *lookup;
|
Ecore_Input_Window *lookup;
|
||||||
|
Eo *seat;
|
||||||
|
|
||||||
e = event;
|
e = event;
|
||||||
lookup = _ecore_event_window_match(e->event_window);
|
lookup = _ecore_event_window_match(e->event_window);
|
||||||
if (!lookup) return ECORE_CALLBACK_PASS_ON;
|
if (!lookup) return ECORE_CALLBACK_PASS_ON;
|
||||||
ecore_event_evas_seat_modifier_lock_update(lookup->evas, e->modifiers,
|
seat = e->dev ? efl_input_device_seat_get(e->dev) : NULL;
|
||||||
efl_input_device_seat_get(e->dev));
|
ecore_event_evas_seat_modifier_lock_update(lookup->evas, e->modifiers, seat);
|
||||||
if (!lookup->direct ||
|
if (!lookup->direct ||
|
||||||
!lookup->direct(lookup->window, ECORE_EVENT_MOUSE_WHEEL, e))
|
!lookup->direct(lookup->window, ECORE_EVENT_MOUSE_WHEEL, e))
|
||||||
{
|
{
|
||||||
|
|
|
@ -1083,6 +1083,7 @@ _edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T x, FLOAT_T y)
|
||||||
* value we would set foo to, because it would depend on the
|
* value we would set foo to, because it would depend on the
|
||||||
* size of the dragable...
|
* size of the dragable...
|
||||||
*/
|
*/
|
||||||
|
if (ep->object)
|
||||||
evas_object_geometry_get(ep->object, &ex, &ey, NULL, NULL);
|
evas_object_geometry_get(ep->object, &ex, &ey, NULL, NULL);
|
||||||
|
|
||||||
if (NEQ(ep->drag->x, x) || ep->drag->tmp.x)
|
if (NEQ(ep->drag->x, x) || ep->drag->tmp.x)
|
||||||
|
|
|
@ -182,13 +182,21 @@ _efl_canvas_layout_efl_gfx_position_set(Eo *obj, Edje *ed, Eina_Position2D pos)
|
||||||
ep = ed->table_parts[i];
|
ep = ed->table_parts[i];
|
||||||
if ((ep->type == EDJE_RP_TYPE_TEXT) && (ep->typedata.text))
|
if ((ep->type == EDJE_RP_TYPE_TEXT) && (ep->typedata.text))
|
||||||
{
|
{
|
||||||
|
if (ep->object)
|
||||||
evas_object_move(ep->object,
|
evas_object_move(ep->object,
|
||||||
ed->x + ep->x + ep->typedata.text->offset.x,
|
ed->x + ep->x + ep->typedata.text->offset.x,
|
||||||
ed->y + ep->y + ep->typedata.text->offset.y);
|
ed->y + ep->y + ep->typedata.text->offset.y);
|
||||||
|
else if (ep->type != EFL_CANVAS_LAYOUT_PART_TYPE_NONE)
|
||||||
|
WRN("No object for part '%s' in group '%s'",
|
||||||
|
ep->part ? ep->part->name : "<invalid>", ed->group);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (ep->object)
|
||||||
evas_object_move(ep->object, ed->x + ep->x, ed->y + ep->y);
|
evas_object_move(ep->object, ed->x + ep->x, ed->y + ep->y);
|
||||||
|
else if (ep->type != EFL_CANVAS_LAYOUT_PART_TYPE_NONE)
|
||||||
|
WRN("No object for part '%s' in group '%s'",
|
||||||
|
ep->part ? ep->part->name : "<invalid>", ed->group);
|
||||||
if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
|
if ((ep->type == EDJE_RP_TYPE_SWALLOW) &&
|
||||||
(ep->typedata.swallow))
|
(ep->typedata.swallow))
|
||||||
{
|
{
|
||||||
|
|
|
@ -3297,7 +3297,11 @@ _efl_canvas_layout_efl_part_part(Eo *obj, Edje *ed, const char *part)
|
||||||
if ((!ed) || (!part)) return NULL;
|
if ((!ed) || (!part)) return NULL;
|
||||||
|
|
||||||
rp = _edje_real_part_recursive_get(&ed, part);
|
rp = _edje_real_part_recursive_get(&ed, part);
|
||||||
if (!rp) return NULL;
|
if (EINA_UNLIKELY(!rp))
|
||||||
|
{
|
||||||
|
WRN("No such part '%s' in group '%s'.", part, ed->group);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (rp->part->type == EDJE_PART_TYPE_BOX)
|
if (rp->part->type == EDJE_PART_TYPE_BOX)
|
||||||
return _edje_box_internal_proxy_get(obj, ed, rp);
|
return _edje_box_internal_proxy_get(obj, ed, rp);
|
||||||
|
|
|
@ -109,6 +109,7 @@ _icon_signal_emit(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
char buf[64];
|
char buf[64];
|
||||||
|
|
||||||
|
if (!elm_widget_resize_object_get(obj)) return;
|
||||||
snprintf(buf, sizeof(buf), "elm,state,icon,%s",
|
snprintf(buf, sizeof(buf), "elm,state,icon,%s",
|
||||||
elm_layout_content_get(obj, "icon") ? "visible" : "hidden");
|
elm_layout_content_get(obj, "icon") ? "visible" : "hidden");
|
||||||
|
|
||||||
|
|
|
@ -93,6 +93,7 @@ _icon_signal_emit(Evas_Object *obj)
|
||||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
||||||
char buf[64];
|
char buf[64];
|
||||||
|
|
||||||
|
if (!elm_widget_resize_object_get(obj)) return;
|
||||||
snprintf(buf, sizeof(buf), "elm,state,icon,%s",
|
snprintf(buf, sizeof(buf), "elm,state,icon,%s",
|
||||||
elm_layout_content_get(obj, "icon") ? "visible" : "hidden");
|
elm_layout_content_get(obj, "icon") ? "visible" : "hidden");
|
||||||
|
|
||||||
|
|
|
@ -81,6 +81,8 @@ typedef struct {
|
||||||
static void
|
static void
|
||||||
_manager_in_chain_set(Eo *obj, Efl_Ui_Focus_Manager_Calc_Data *pd)
|
_manager_in_chain_set(Eo *obj, Efl_Ui_Focus_Manager_Calc_Data *pd)
|
||||||
{
|
{
|
||||||
|
Eo *manager;
|
||||||
|
|
||||||
EINA_SAFETY_ON_NULL_RETURN(pd->root);
|
EINA_SAFETY_ON_NULL_RETURN(pd->root);
|
||||||
|
|
||||||
if (!efl_isa(pd->root->focusable, EFL_UI_WIN_CLASS))
|
if (!efl_isa(pd->root->focusable, EFL_UI_WIN_CLASS))
|
||||||
|
@ -89,7 +91,12 @@ _manager_in_chain_set(Eo *obj, Efl_Ui_Focus_Manager_Calc_Data *pd)
|
||||||
//so we dont run infinitly this does not fix it, but at least we only have a error
|
//so we dont run infinitly this does not fix it, but at least we only have a error
|
||||||
EINA_SAFETY_ON_TRUE_RETURN(efl_ui_focus_user_focus_manager_get(pd->root->focusable) == obj);
|
EINA_SAFETY_ON_TRUE_RETURN(efl_ui_focus_user_focus_manager_get(pd->root->focusable) == obj);
|
||||||
|
|
||||||
efl_ui_focus_manager_focus_set(efl_ui_focus_user_focus_manager_get(pd->root->focusable), pd->root->focusable);
|
manager = efl_ui_focus_user_focus_manager_get(pd->root->focusable);
|
||||||
|
if (manager)
|
||||||
|
efl_ui_focus_manager_focus_set(manager, pd->root->focusable);
|
||||||
|
else
|
||||||
|
DBG("No focus manager for focusable %s@%p",
|
||||||
|
efl_class_name_get(pd->root->focusable), pd->root->focusable);
|
||||||
}
|
}
|
||||||
|
|
||||||
static Efl_Ui_Focus_Direction
|
static Efl_Ui_Focus_Direction
|
||||||
|
@ -1569,7 +1576,9 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_manager_focus_set(Eo *obj, Efl_U
|
||||||
if (node_type == NODE_TYPE_NORMAL)
|
if (node_type == NODE_TYPE_NORMAL)
|
||||||
{
|
{
|
||||||
//populate the new change
|
//populate the new change
|
||||||
|
if (last_focusable)
|
||||||
efl_ui_focus_object_focus_set(last_focusable, EINA_FALSE);
|
efl_ui_focus_object_focus_set(last_focusable, EINA_FALSE);
|
||||||
|
if (new_focusable)
|
||||||
efl_ui_focus_object_focus_set(new_focusable, EINA_TRUE);
|
efl_ui_focus_object_focus_set(new_focusable, EINA_TRUE);
|
||||||
efl_event_callback_call(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, last_focusable);
|
efl_event_callback_call(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, last_focusable);
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,10 +137,10 @@ _logical_manager_change(void *data EINA_UNUSED, const Efl_Event *ev)
|
||||||
Eina_List *n;
|
Eina_List *n;
|
||||||
Efl_Ui_Focus_User *b;
|
Efl_Ui_Focus_User *b;
|
||||||
Efl_Ui_Focus_Manager *manager;
|
Efl_Ui_Focus_Manager *manager;
|
||||||
manager = efl_ui_focus_user_focus_manager_get(ev->object);
|
|
||||||
|
|
||||||
if (!ev->info) return;
|
if (!ev->info) return;
|
||||||
|
|
||||||
|
manager = efl_ui_focus_user_focus_manager_get(ev->object);
|
||||||
EINA_LIST_FOREACH(pd->current_border, n, b)
|
EINA_LIST_FOREACH(pd->current_border, n, b)
|
||||||
{
|
{
|
||||||
if (b == ev->object) continue;
|
if (b == ev->object) continue;
|
||||||
|
@ -156,13 +156,12 @@ _flush_manager(Eo *obj, Efl_Ui_Focus_Manager_Sub_Data *pd)
|
||||||
Efl_Ui_Focus_User *b;
|
Efl_Ui_Focus_User *b;
|
||||||
Eina_List *n;
|
Eina_List *n;
|
||||||
|
|
||||||
|
|
||||||
logical = efl_ui_focus_user_focus_parent_get(obj);
|
logical = efl_ui_focus_user_focus_parent_get(obj);
|
||||||
manager = efl_ui_focus_user_focus_manager_get(obj);
|
manager = efl_ui_focus_user_focus_manager_get(obj);
|
||||||
|
|
||||||
//unregister from the old
|
//unregister from the old
|
||||||
efl_event_callback_array_del(pd->manager, parent_manager(), obj);
|
if (pd->manager) efl_event_callback_array_del(pd->manager, parent_manager(), obj);
|
||||||
efl_event_callback_array_add(manager, parent_manager(), obj);
|
if (manager) efl_event_callback_array_add(manager, parent_manager(), obj);
|
||||||
|
|
||||||
EINA_LIST_FOREACH(pd->current_border , n, b)
|
EINA_LIST_FOREACH(pd->current_border , n, b)
|
||||||
{
|
{
|
||||||
|
@ -203,7 +202,7 @@ _efl_ui_focus_manager_sub_efl_object_destructor(Eo *obj, Efl_Ui_Focus_Manager_Su
|
||||||
{
|
{
|
||||||
_border_unregister(obj, pd);
|
_border_unregister(obj, pd);
|
||||||
|
|
||||||
efl_event_callback_array_del(pd->manager, parent_manager(), obj);
|
if (pd->manager) efl_event_callback_array_del(pd->manager, parent_manager(), obj);
|
||||||
|
|
||||||
efl_destructor(efl_super(obj, MY_CLASS));
|
efl_destructor(efl_super(obj, MY_CLASS));
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ _efl_ui_focus_util_focus(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED, Efl_Ui_Focus
|
||||||
top = elm_widget_top_get(user);
|
top = elm_widget_top_get(user);
|
||||||
|
|
||||||
o = efl_key_data_get(top, "__delayed_focus_set");
|
o = efl_key_data_get(top, "__delayed_focus_set");
|
||||||
efl_event_callback_del(o, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_changed, o);
|
if (o) efl_event_callback_del(o, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_changed, o);
|
||||||
efl_key_data_set(top, "__delayed_focus_set", NULL);
|
efl_key_data_set(top, "__delayed_focus_set", NULL);
|
||||||
|
|
||||||
if (!m)
|
if (!m)
|
||||||
|
|
|
@ -165,8 +165,12 @@ _icon_signal_emit(Efl_Ui_Layout_Data *sd,
|
||||||
{
|
{
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
const char *type;
|
const char *type;
|
||||||
|
Eo *edje;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
edje = elm_widget_resize_object_get(sd->obj);
|
||||||
|
if (!edje) return;
|
||||||
|
|
||||||
//FIXME: Don't limit to the icon and end here.
|
//FIXME: Don't limit to the icon and end here.
|
||||||
// send signals for all contents after elm 2.0
|
// send signals for all contents after elm 2.0
|
||||||
if (sub_d->type != SWALLOW) return;
|
if (sub_d->type != SWALLOW) return;
|
||||||
|
@ -184,11 +188,10 @@ _icon_signal_emit(Efl_Ui_Layout_Data *sd,
|
||||||
snprintf(buf, sizeof(buf), "elm,state,%s,%s", type,
|
snprintf(buf, sizeof(buf), "elm,state,%s,%s", type,
|
||||||
visible ? "visible" : "hidden");
|
visible ? "visible" : "hidden");
|
||||||
|
|
||||||
ELM_WIDGET_DATA_GET_OR_RETURN(sd->obj, wd);
|
edje_object_signal_emit(edje, buf, "elm");
|
||||||
edje_object_signal_emit(wd->resize_obj, buf, "elm");
|
|
||||||
|
|
||||||
/* themes might need immediate action here */
|
/* themes might need immediate action here */
|
||||||
edje_object_message_signal_process(wd->resize_obj);
|
edje_object_message_signal_process(edje);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
|
@ -640,17 +643,14 @@ _efl_ui_layout_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Layout_Data *sd)
|
||||||
Efl_Ui_Layout_Sub_Connect *sc;
|
Efl_Ui_Layout_Sub_Connect *sc;
|
||||||
Edje_Signal_Data *esd;
|
Edje_Signal_Data *esd;
|
||||||
Evas_Object *child;
|
Evas_Object *child;
|
||||||
Eina_List *l;
|
Eina_List *l, *ll;
|
||||||
|
|
||||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
||||||
|
|
||||||
elm_layout_freeze(obj);
|
elm_layout_freeze(obj);
|
||||||
|
|
||||||
EINA_LIST_FREE(sd->subs, sub_d)
|
EINA_LIST_FOREACH_SAFE(sd->subs, l, ll, sub_d)
|
||||||
{
|
efl_ui_widget_sub_object_del(obj, sub_d->obj);
|
||||||
eina_stringshare_del(sub_d->part);
|
|
||||||
free(sub_d);
|
|
||||||
}
|
|
||||||
|
|
||||||
EINA_LIST_FREE(sd->parts_cursors, pc)
|
EINA_LIST_FREE(sd->parts_cursors, pc)
|
||||||
_part_cursor_free(pc);
|
_part_cursor_free(pc);
|
||||||
|
@ -2430,17 +2430,18 @@ elm_layout_theme_set(Evas_Object *obj, const char *klass, const char *group, con
|
||||||
EOLIAN static Eo *
|
EOLIAN static Eo *
|
||||||
_efl_ui_layout_efl_part_part(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED, const char *part)
|
_efl_ui_layout_efl_part_part(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED, const char *part)
|
||||||
{
|
{
|
||||||
Efl_Canvas_Layout_Part_Type type;
|
Efl_Canvas_Layout_Part_Type type = EFL_CANVAS_LAYOUT_PART_TYPE_NONE;
|
||||||
|
|
||||||
EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
|
EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
|
||||||
ELM_WIDGET_DATA_GET_OR_RETURN((Eo *) obj, wd, NULL);
|
ELM_WIDGET_DATA_GET_OR_RETURN((Eo *) obj, wd, NULL);
|
||||||
|
|
||||||
// Check part type without using edje_object_part_object_get(), as this
|
// Check part type without using edje_object_part_object_get(), as this
|
||||||
// can cause recalc, which has side effects... and could be slow.
|
// can cause recalc, which has side effects... and could be slow.
|
||||||
type = efl_canvas_layout_part_type_get(efl_part(wd->resize_obj, part));
|
|
||||||
|
|
||||||
if (eina_streq(part, "background"))
|
if (eina_streq(part, "background"))
|
||||||
{
|
{
|
||||||
|
if (efl_layout_group_part_exist_get(wd->resize_obj, part))
|
||||||
|
type = efl_canvas_layout_part_type_get(efl_part(wd->resize_obj, part));
|
||||||
if (type != EFL_CANVAS_LAYOUT_PART_TYPE_SWALLOW)
|
if (type != EFL_CANVAS_LAYOUT_PART_TYPE_SWALLOW)
|
||||||
{
|
{
|
||||||
if (type < EFL_CANVAS_LAYOUT_PART_TYPE_LAST &&
|
if (type < EFL_CANVAS_LAYOUT_PART_TYPE_LAST &&
|
||||||
|
@ -2459,9 +2460,18 @@ _efl_ui_layout_efl_part_part(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED,
|
||||||
else if (eina_streq(part, "shadow"))
|
else if (eina_streq(part, "shadow"))
|
||||||
return efl_part(efl_super(obj, MY_CLASS), part);
|
return efl_part(efl_super(obj, MY_CLASS), part);
|
||||||
|
|
||||||
|
if (!efl_layout_group_part_exist_get(wd->resize_obj, part))
|
||||||
|
{
|
||||||
|
WRN("No such part '%s' in group '%s'",
|
||||||
|
part, elm_widget_theme_element_get(obj));
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
type = efl_canvas_layout_part_type_get(efl_part(wd->resize_obj, part));
|
||||||
if (type >= EFL_CANVAS_LAYOUT_PART_TYPE_LAST)
|
if (type >= EFL_CANVAS_LAYOUT_PART_TYPE_LAST)
|
||||||
{
|
{
|
||||||
ERR("Invalid type found for part '%s' in group '%s'", part, elm_widget_theme_element_get(obj));
|
ERR("Invalid type found for part '%s' in group '%s'",
|
||||||
|
part, elm_widget_theme_element_get(obj));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2475,9 +2485,6 @@ _efl_ui_layout_efl_part_part(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED,
|
||||||
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_TEXT_CLASS, obj, part);
|
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_TEXT_CLASS, obj, part);
|
||||||
case EFL_CANVAS_LAYOUT_PART_TYPE_SWALLOW:
|
case EFL_CANVAS_LAYOUT_PART_TYPE_SWALLOW:
|
||||||
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CONTENT_CLASS, obj, part);
|
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CONTENT_CLASS, obj, part);
|
||||||
case EFL_CANVAS_LAYOUT_PART_TYPE_NONE:
|
|
||||||
WRN("No such part '%s' in group '%s'", part, elm_widget_theme_element_get(obj));
|
|
||||||
return NULL;
|
|
||||||
default:
|
default:
|
||||||
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CLASS, obj, part);
|
return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CLASS, obj, part);
|
||||||
}
|
}
|
||||||
|
|
|
@ -172,6 +172,7 @@ _icon_signal_emit(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
char buf[64];
|
char buf[64];
|
||||||
|
|
||||||
|
if (!elm_widget_resize_object_get(obj)) return;
|
||||||
snprintf(buf, sizeof(buf), "elm,state,icon,%s",
|
snprintf(buf, sizeof(buf), "elm,state,icon,%s",
|
||||||
elm_layout_content_get(obj, "icon") ? "visible" : "hidden");
|
elm_layout_content_get(obj, "icon") ? "visible" : "hidden");
|
||||||
|
|
||||||
|
|
|
@ -137,14 +137,16 @@ _key_action_activate(Evas_Object *obj, const char *params EINA_UNUSED)
|
||||||
static void
|
static void
|
||||||
_icon_signal_emit(Evas_Object *obj)
|
_icon_signal_emit(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
|
||||||
char buf[64];
|
char buf[64];
|
||||||
|
Eo *edje;
|
||||||
|
|
||||||
|
edje = elm_widget_resize_object_get(obj);
|
||||||
|
if (!edje) return;
|
||||||
snprintf(buf, sizeof(buf), "elm,state,icon,%s",
|
snprintf(buf, sizeof(buf), "elm,state,icon,%s",
|
||||||
elm_layout_content_get(obj, "icon") ? "visible" : "hidden");
|
elm_layout_content_get(obj, "icon") ? "visible" : "hidden");
|
||||||
|
|
||||||
elm_layout_signal_emit(obj, buf, "elm");
|
elm_layout_signal_emit(obj, buf, "elm");
|
||||||
edje_object_message_signal_process(wd->resize_obj);
|
edje_object_message_signal_process(edje);
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static Efl_Ui_Theme_Apply
|
EOLIAN static Efl_Ui_Theme_Apply
|
||||||
|
|
|
@ -311,7 +311,7 @@ _focus_manager_eval(Eo *obj, Elm_Widget_Smart_Data *pd)
|
||||||
{
|
{
|
||||||
new = parent;
|
new = parent;
|
||||||
}
|
}
|
||||||
else
|
else if (parent)
|
||||||
{
|
{
|
||||||
new = efl_ui_focus_user_focus_manager_get(parent);
|
new = efl_ui_focus_user_focus_manager_get(parent);
|
||||||
provider = parent;
|
provider = parent;
|
||||||
|
@ -358,10 +358,11 @@ _efl_ui_widget_focus_state_apply(Eo *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED,
|
||||||
|
|
||||||
if (!current_state.manager) registered = EINA_FALSE;
|
if (!current_state.manager) registered = EINA_FALSE;
|
||||||
|
|
||||||
if (//check if we have changed the manager
|
if ((//check if we have changed the manager
|
||||||
(current_state.manager != configured_state->manager) ||
|
(current_state.manager != configured_state->manager) ||
|
||||||
//check if we are already registered but in a different state
|
//check if we are already registered but in a different state
|
||||||
(current_state.logical != configured_state->logical))
|
(current_state.logical != configured_state->logical))
|
||||||
|
&& registered)
|
||||||
{
|
{
|
||||||
//we need to unregister here
|
//we need to unregister here
|
||||||
efl_ui_focus_manager_calc_unregister(current_state.manager, obj);
|
efl_ui_focus_manager_calc_unregister(current_state.manager, obj);
|
||||||
|
@ -2439,10 +2440,14 @@ _efl_ui_widget_disabled_set(Eo *obj, Elm_Widget_Smart_Data *sd, Eina_Bool disabl
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static Eina_Bool
|
EOLIAN static Eina_Bool
|
||||||
_efl_ui_widget_disabled_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd)
|
_efl_ui_widget_disabled_get(Eo *obj, Elm_Widget_Smart_Data *sd)
|
||||||
{
|
{
|
||||||
|
Eo *parent;
|
||||||
|
|
||||||
if (sd->disabled) return EINA_TRUE;
|
if (sd->disabled) return EINA_TRUE;
|
||||||
return elm_widget_disabled_get(elm_widget_parent_get(obj));
|
if ((parent = elm_widget_parent_get(obj)) != NULL)
|
||||||
|
return elm_widget_disabled_get(parent);
|
||||||
|
return EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static void
|
EOLIAN static void
|
||||||
|
@ -5480,7 +5485,7 @@ _efl_ui_widget_efl_object_provider_find(const Eo *obj, Elm_Widget_Smart_Data *pd
|
||||||
if (pd->provider_lookup) return NULL;
|
if (pd->provider_lookup) return NULL;
|
||||||
pd->provider_lookup = EINA_TRUE;
|
pd->provider_lookup = EINA_TRUE;
|
||||||
|
|
||||||
lookup = efl_provider_find(pd->parent_obj, klass);
|
if (pd->parent_obj) lookup = efl_provider_find(pd->parent_obj, klass);
|
||||||
if (!lookup) lookup = efl_provider_find(efl_super(obj, MY_CLASS), klass);
|
if (!lookup) lookup = efl_provider_find(efl_super(obj, MY_CLASS), klass);
|
||||||
|
|
||||||
pd->provider_lookup = EINA_FALSE;
|
pd->provider_lookup = EINA_FALSE;
|
||||||
|
|
|
@ -1295,6 +1295,7 @@ _elm_entry_focus_update(Eo *obj, Elm_Entry_Data *sd)
|
||||||
edje_object_part_text_select_none(sd->entry_edje, "elm.text");
|
edje_object_part_text_select_none(sd->entry_edje, "elm.text");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (sd->scr_edje)
|
||||||
edje_object_signal_emit(sd->scr_edje, "validation,default", "elm");
|
edje_object_signal_emit(sd->scr_edje, "validation,default", "elm");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,6 +82,7 @@ _round(double value, int pos)
|
||||||
static void
|
static void
|
||||||
_elm_pan_update(Elm_Pan_Smart_Data *psd)
|
_elm_pan_update(Elm_Pan_Smart_Data *psd)
|
||||||
{
|
{
|
||||||
|
if (psd->content)
|
||||||
evas_object_move(psd->content, psd->x - psd->px, psd->y - psd->py);
|
evas_object_move(psd->content, psd->x - psd->px, psd->y - psd->py);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -830,6 +830,13 @@ EAPI extern Eina_Bool _elm_legacy_add;
|
||||||
#define elm_legacy_add(k, p, ...) ({ _elm_legacy_add = 1; \
|
#define elm_legacy_add(k, p, ...) ({ _elm_legacy_add = 1; \
|
||||||
efl_add(k, p, efl_canvas_object_legacy_ctor(efl_added), ##__VA_ARGS__); })
|
efl_add(k, p, efl_canvas_object_legacy_ctor(efl_added), ##__VA_ARGS__); })
|
||||||
|
|
||||||
|
static inline Eo *
|
||||||
|
elm_widget_resize_object_get(const Eo *obj)
|
||||||
|
{
|
||||||
|
Elm_Widget_Smart_Data *wd = efl_data_scope_safe_get(obj, EFL_UI_WIDGET_CLASS);
|
||||||
|
return wd ? wd->resize_obj : NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static inline Eina_Bool
|
static inline Eina_Bool
|
||||||
elm_widget_is_legacy(const Eo *obj)
|
elm_widget_is_legacy(const Eo *obj)
|
||||||
{
|
{
|
||||||
|
|
|
@ -212,6 +212,8 @@ _elm_cursor_set_hot_spots(Elm_Cursor *cur)
|
||||||
Evas_Coord cx, cy, cw, ch, x, y, w, h;
|
Evas_Coord cx, cy, cw, ch, x, y, w, h;
|
||||||
int prev_hot_x, prev_hot_y;
|
int prev_hot_x, prev_hot_y;
|
||||||
|
|
||||||
|
if (!cur->visible) return;
|
||||||
|
|
||||||
prev_hot_x = cur->hot_x;
|
prev_hot_x = cur->hot_x;
|
||||||
prev_hot_y = cur->hot_y;
|
prev_hot_y = cur->hot_y;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue