diff options
author | Marcel Hollerbach <marcel-hollerbach@t-online.de> | 2017-04-30 13:08:55 +0200 |
---|---|---|
committer | Marcel Hollerbach <marcel-hollerbach@t-online.de> | 2017-04-30 13:08:55 +0200 |
commit | 3861b35a3e0a6d7b787eb703b11ba720edc479d1 (patch) | |
tree | fd1fad9e0e4f24083d59815145017d2e66272dd3 | |
parent | 76dc0d460bb7c2582e82834fa1cac1419ed7d7a9 (diff) | |
download | efl-3861b35a3e0a6d7b787eb703b11ba720edc479d1.tar.gz |
efl_ui_focus_manager: add a free function for the relation
-rw-r--r-- | src/Makefile_Elementary.am | 3 | ||||
-rw-r--r-- | src/lib/elementary/Elementary.h | 1 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_focus_manager.c | 13 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_focus_manager.eo | 2 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_focus_manager.h | 6 | ||||
-rw-r--r-- | src/lib/elementary/elm_widget.c | 2 |
6 files changed, 24 insertions, 3 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index d62045b18d..1dcdc8cb0d 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -286,7 +286,8 @@ includesunstable_HEADERS = \ lib/elementary/elm_code_indent.h \ lib/elementary/elm_code_file.h \ lib/elementary/elm_code_parse.h \ - lib/elementary/elm_code_syntax.h + lib/elementary/elm_code_syntax.h \ + lib/elementary/efl_ui_focus_manager.h includesunstabledir = $(includedir)/elementary-@VMAJ@ nodist_includesunstable_HEADERS = \ diff --git a/src/lib/elementary/Elementary.h b/src/lib/elementary/Elementary.h index db56d7e2ce..e58d36353c 100644 --- a/src/lib/elementary/Elementary.h +++ b/src/lib/elementary/Elementary.h @@ -154,6 +154,7 @@ EAPI extern Elm_Version *elm_version; # include "efl_ui_focus_manager_sub.eo.legacy.h" # include "efl_ui_focus_user.eo.legacy.h" #endif +#include "efl_ui_focus_manager.h" #include <elm_tooltip.h> #include <elm_object_item.h> diff --git a/src/lib/elementary/efl_ui_focus_manager.c b/src/lib/elementary/efl_ui_focus_manager.c index 00741e7393..0bf20c2f0c 100644 --- a/src/lib/elementary/efl_ui_focus_manager.c +++ b/src/lib/elementary/efl_ui_focus_manager.c @@ -1447,3 +1447,16 @@ _efl_ui_focus_manager_logical_end(Eo *obj EINA_UNUSED, Efl_Ui_Focus_Manager_Data } #include "efl_ui_focus_manager.eo.c" + + +EAPI void +efl_ui_focus_relations_free(Efl_Ui_Focus_Relations *rel) +{ + if (!rel) return; + + eina_list_free(rel->left); + eina_list_free(rel->right); + eina_list_free(rel->down); + eina_list_free(rel->top); + free(rel); +} diff --git a/src/lib/elementary/efl_ui_focus_manager.eo b/src/lib/elementary/efl_ui_focus_manager.eo index 8b95774864..abdbfc8a2f 100644 --- a/src/lib/elementary/efl_ui_focus_manager.eo +++ b/src/lib/elementary/efl_ui_focus_manager.eo @@ -13,7 +13,7 @@ enum Efl.Ui.Focus.Direction { last = 6 [[Last value for this enum, do not use]] } -struct Efl.Ui.Focus.Relations { +struct @free(efl_ui_focus_relations_free) Efl.Ui.Focus.Relations { [[Structure holding the graph of relations between focussable objects. @since 1.20 diff --git a/src/lib/elementary/efl_ui_focus_manager.h b/src/lib/elementary/efl_ui_focus_manager.h new file mode 100644 index 0000000000..9c1718bf75 --- /dev/null +++ b/src/lib/elementary/efl_ui_focus_manager.h @@ -0,0 +1,6 @@ +#ifndef EFL_UI_FOCUS_MANAGER_H +#define EFL_UI_FOCUS_MANAGER_H + +EAPI void efl_ui_focus_relations_free(Efl_Ui_Focus_Relations *rel); + +#endif diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index a8fb4ef6d5..7a4337f330 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -4181,7 +4181,7 @@ _elm_widget_efl_object_dbg_info_get(Eo *eo_obj, Elm_Widget_Smart_Data *_pd EINA_ #undef ADD_PTR_LIST } - + efl_ui_focus_relations_free(rel); //if thats a focus manager, give usefull informations like the border elements if (efl_isa(eo_obj, EFL_UI_FOCUS_MANAGER_CLASS)) { |