path: root/src/lib/elementary/elm_box.eo
diff options
authorMarcel Hollerbach <>2017-09-02 19:08:18 +0200
committerMarcel Hollerbach <>2017-09-02 21:10:56 +0200
commitc51f35d42a148b34a9cf74714ecc16609984eecb (patch)
tree9e7fa063e796c20c93ca695fa4b729a9e1843044 /src/lib/elementary/elm_box.eo
parent3af81932b04c60f89903834057dfb652cdcd9d5c (diff)
elm_widget: move the complete regsiter/unregister logic
We had here a little problem, state focus_state_eval function handled the unregisteration and consideration of the focus flags and then only called a helper function (which was a widget function), that then did the registeration in logical or regular mode. Elm scroller for example took that function overwrote it and did onyl permit logical registrations. Then again a evaluation of the focus state and flags took place, and the function considered elm_scroller should be registered as regular object, but found it to be logical. This lead to the problem that we permantently unregistered Elm.Scroller and registered it again as logical just to unregister it again. This was on the one side a performance downside. But also a bug since all items from within the Elm_Scrollers sub manager are getting reparent onto the parent, which means not the root of the scroller (the scroller itself) is the logical entrypoint to the widget but rather this reparented widget, which led to unexpected focus warps like described in T5923. tldr: this fixes T5923
Diffstat (limited to 'src/lib/elementary/elm_box.eo')
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/elementary/elm_box.eo b/src/lib/elementary/elm_box.eo
index efdb2e3..0269d84 100644
--- a/src/lib/elementary/elm_box.eo
+++ b/src/lib/elementary/elm_box.eo
@@ -255,7 +255,7 @@ class Elm.Box (Elm.Widget)
255 Elm.Widget.focus_next; 255 Elm.Widget.focus_next;
256 Elm.Widget.theme_apply; 256 Elm.Widget.theme_apply;
257 Elm.Widget.widget_sub_object_del; 257 Elm.Widget.widget_sub_object_del;
258 Elm.Widget.focus_register; 258 Elm.Widget.focus_state_apply;
259 } 259 }
260 events { 260 events {
261 child,added; [[Called when child was added]] 261 child,added; [[Called when child was added]]