@@ -53,6 +53,14 @@ Item {
5353 // might show the UI accommodating due to surface resizes on startup.
5454 // Remove this when possible
5555 property bool surfaceInitialized: false
56+
57+ function forceSurfaceActiveFocusIfReady() {
58+ if (sessionContainer.surface.focus &&
59+ sessionContainer.surface.parent === sessionContainer.surfaceContainer &&
60+ sessionContainer.surface.enabled) {
61+ sessionContainer.surface.forceActiveFocus();
62+ }
63+ }
5664 }
5765
5866 Timer {
@@ -65,14 +73,9 @@ Item {
6573 target: sessionContainer.surface
6674 // FIXME: I would rather not need to do this, but currently it doesn't get
6775 // active focus without it and I don't know why.
68− onFocusChanged: forceSurfaceActiveFocusIfReady();
69− onParentChanged: forceSurfaceActiveFocusIfReady();
70− onEnabledChanged: forceSurfaceActiveFocusIfReady();
71− function forceSurfaceActiveFocusIfReady() {
72− if (sessionContainer.surface.focus && sessionContainer.surface.parent === sessionContainer.surfaceContainer && sessionContainer.surface.enabled) {
73− sessionContainer.surface.forceActiveFocus();
74− }
75− }
76+ onFocusChanged: d.forceSurfaceActiveFocusIfReady();
77+ onParentChanged: d.forceSurfaceActiveFocusIfReady();
78+ onEnabledChanged: d.forceSurfaceActiveFocusIfReady();
7679 }
7780
7881 Image {
@@ -114,6 +117,7 @@ Item {
114117 } else {
115118 d.surfaceInitialized = false;
116119 }
120+ d.forceSurfaceActiveFocusIfReady();
117121 }
118122 }
119123