diff options
author | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2019-09-03 10:21:38 +0200 |
---|---|---|
committer | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2019-09-03 18:36:19 +0200 |
commit | 4617e5dcfb739f5992d1a6f231a9cf4f19b96390 (patch) | |
tree | 1509036aa3b439e9766700bb309819988cf26f30 | |
parent | 1d96fc92023c37af76f4c277c917911f059ae220 (diff) |
efl_ui_position_manager_list: error when we detect that sizes are wrong
when sizes are different to the cached size, then the displayed items
are out of order, or do not fill the whole viewport. This should not
happen. In case that this is detected, print an error.
Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9821
-rw-r--r-- | src/lib/elementary/efl_ui_position_manager_list.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/elementary/efl_ui_position_manager_list.c b/src/lib/elementary/efl_ui_position_manager_list.c index 2ed1259a16..603c60b58a 100644 --- a/src/lib/elementary/efl_ui_position_manager_list.c +++ b/src/lib/elementary/efl_ui_position_manager_list.c | |||
@@ -210,6 +210,15 @@ _position_items(Eo *obj EINA_UNUSED, Efl_Ui_Position_Manager_List_Data *pd, Vis_ | |||
210 | size = size_buffer[buffer_id].size; | 210 | size = size_buffer[buffer_id].size; |
211 | ent = obj_buffer[buffer_id].entity; | 211 | ent = obj_buffer[buffer_id].entity; |
212 | 212 | ||
213 | int diff = cache_access(obj, pd, i + 1) - cache_access(obj, pd, i); | ||
214 | int real_diff = 0; | ||
215 | if (pd->dir == EFL_UI_LAYOUT_ORIENTATION_VERTICAL) | ||
216 | real_diff = size.h; | ||
217 | else | ||
218 | real_diff = size.w; | ||
219 | if (real_diff != diff) | ||
220 | ERR("Reported sizes changed during caching and placement %d %d %d", i, real_diff, diff); | ||
221 | |||
213 | if (ent == pd->last_group) | 222 | if (ent == pd->last_group) |
214 | { | 223 | { |
215 | pd->last_group = NULL; | 224 | pd->last_group = NULL; |