summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_navigation_layout.c
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-02-27 13:17:16 -0500
committerMike Blumenkrantz <zmike@samsung.com>2019-02-27 13:17:16 -0500
commit335936e79d9473b72b6afe2902565b9e25701209 (patch)
tree1d0bc6cf8f6a7cf45284d2d27385366e339f9db6 /src/lib/elementary/efl_ui_navigation_layout.c
parent6326e18b3fb2a4757f8ffa22be5d55a75da23049 (diff)
efl.ui.layout: split into abstract and real class
Summary: most widgets inherit from layout to provide implementations for common functionality such as content/text/theme get+set. one of the things that layout also brings into its inheritance hierarchy is efl.file and implementations for its methods. this becomes a problem when the widget which inherits layout also wants to provide implementations for efl.file methods (e.g., entry, which uses efl.file to load text files) as it will result in calling all of the efl.file implementations up the chain. in the case of entry, this could result in the 'file' property eventually being set to the current theme file in use by the entry's layout object, and then the entry will attempt to autosave its content to the default theme file when it is destroyed, corrupting the theme file and breaking everything to solve this: * efl.ui.layout remains an instantiable class which implements efl.file * efl.ui.layout_base is the abstract class which provides all the methods of layout but should be inherited by all widgets which want to implement efl.file functionality Depends on D8018 Reviewers: bu5hm4n, segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl_api Differential Revision: https://phab.enlightenment.org/D8032
Diffstat (limited to 'src/lib/elementary/efl_ui_navigation_layout.c')
-rw-r--r--src/lib/elementary/efl_ui_navigation_layout.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/elementary/efl_ui_navigation_layout.c b/src/lib/elementary/efl_ui_navigation_layout.c
index 843dcbb..16bcea2 100644
--- a/src/lib/elementary/efl_ui_navigation_layout.c
+++ b/src/lib/elementary/efl_ui_navigation_layout.c
@@ -15,7 +15,7 @@
15EOLIAN static void 15EOLIAN static void
16_efl_ui_navigation_layout_bar_set(Eo *obj, Efl_Ui_Navigation_Layout_Data *pd, Efl_Ui_Layout *bar) 16_efl_ui_navigation_layout_bar_set(Eo *obj, Efl_Ui_Navigation_Layout_Data *pd, Efl_Ui_Layout *bar)
17{ 17{
18 EINA_SAFETY_ON_FALSE_RETURN(efl_isa(bar, EFL_UI_LAYOUT_CLASS)); 18 EINA_SAFETY_ON_FALSE_RETURN(efl_isa(bar, EFL_UI_LAYOUT_BASE_CLASS));
19 19
20 efl_content_set(efl_part(obj, "efl.bar"), bar); 20 efl_content_set(efl_part(obj, "efl.bar"), bar);
21 pd->bar = bar; 21 pd->bar = bar;