Summary: | Window size broken on Windows | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-kconfig | Reporter: | Jean-Baptiste Mardelle <jb> |
Component: | general | Assignee: | Matthew Dawson <matthew> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | bartoloni, claudius.ellsel, katyaberezyaka, kdelibs-bugs, microlan101, nate, os-dev |
Priority: | VHI | Keywords: | regression |
Version: | 5.76.0 | ||
Target Milestone: | --- | ||
Platform: | Microsoft Windows | ||
OS: | Microsoft Windows | ||
Latest Commit: | https://invent.kde.org/frameworks/kconfig/commit/a66d57f5e48486ce67d4dc9ea6c980a160466371 | Version Fixed In: | 5.101 |
Sentry Crash Report: |
Description
Jean-Baptiste Mardelle
2020-12-02 20:14:20 UTC
*** Bug 429734 has been marked as a duplicate of this bug. *** *** Bug 429264 has been marked as a duplicate of this bug. *** The attached rc file in Bug 429264 shows that many lines in the config file are truncated and have inappropriate slashes added, not just the ones that were changed for the window position saving code. I suspect an unrelated regression in either KConfig or Qt. Seems like QScreen::name() gives us garbage on Windows and this is a known issue: https://bugreports.qt.io/browse/QTBUG-74317 I'll add a workaround. A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kconfig/-/merge_requests/35 Git commit e5fb03b6e915b176ae8804ae7317ff1977848487 by Nate Graham. Committed on 07/12/2020 at 22:15. Pushed by ngraham into branch 'master'. Fix window sizing and positioning on Windows The feature to make windows remember their sizes and positions across screen layouts relied on calling QScreen::name() to identify screens. Unfortunately this function returns garbage on Windows; see https://bugreports.qt.io/browse/QTBUG-74317 So on Windows, let's identify displays by serial number as a workaround. FIXED-IN: 5.78 M +6 -0 src/gui/kwindowconfig.cpp https://invent.kde.org/frameworks/kconfig/commit/e5fb03b6e915b176ae8804ae7317ff1977848487 Just FYI it does not appear that this was the problem in the bug I reported. The problem is not present in Kate 20.12.0 which reports using Frameworks 5.76.0. on latest Kdenlive configuration file there are again some texts added: on Windows10 there is a "\s ": \s Height 1080=900 and on Windows 7 and Windows 8.1 there is a "\s": \sHeight 1080=900 on Kdenlive (this week) there was a regression and now there are again strange values on the configuration file (Windows version) https://invent.kde.org/multimedia/kdenlive/uploads/3f35d638bdfa8078ce0a89e59b349892/slashes.png A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kconfig/-/merge_requests/148 Git commit a66d57f5e48486ce67d4dc9ea6c980a160466371 by Nate Graham. Committed on 16/11/2022 at 00:49. Pushed by ngraham into branch 'master'. Apply existing QScreen::name() workaround for Windows to new code e5fb03b6e915b176ae8804ae7317ff1977848487 added a workaround for a Qt bug on Windows that makes QScreen::name() return garbage. 21e02655a78b5d241c35fd934f7665564420327c added new un-worked-around usages of QScreen::name() which effectively re-introduces the bug that the old code was fixing on Windows. This commit re-applies the workaround to the new code using a compiler macro. FIXED-IN: 5.101 M +17 -14 src/gui/kwindowconfig.cpp https://invent.kde.org/frameworks/kconfig/commit/a66d57f5e48486ce67d4dc9ea6c980a160466371 |