Skip to content

Avoid positioning the panel when it has no size yet

David Redondo requested to merge work/cherry-pick-27dd6897 into Plasma/6.0

Calling setPosition with a position of the left-most pixel of a screen and size of 0x0 will set the screen to be the one to the left of it. Making screenToFollow() and QWindow::screen() out of sync temporarily. While arguably a Qt issue and this being fixed up later when the panel resizes and other properties are updated, we need to workaround this to our usage of layer-shell. Layer surfaces can't change screen once created. It can happen that the surface is created during the time that the panel is on the wrong screen, resulting in the panel appearing on the wrong screen while thinking it is on another one. To fix this the initial positionPanel() call is removed, the panel will now be positioned after it has resized from the event handler. BUG:483102 BUG:483348 BUG:470434 FIXED-IN:6.0.3

(cherry picked from commit 27dd6897)

Merge request reports

Loading