Details
-
Suggestion
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
-
None
-
Windows, Qt 6.4.1
-
9af5a70c5 (dev), 03da3363a (6.4), 1fc4b47d8 (6.5)
Description
The following change broke backwards compatibility by changing the result of QScreen::name() on Windows: https://github.com/qt/qtbase/commit/75f22702933bad4f0da2b63a94ea183021771e4c
While the desire for cross-OS consistency in the result of QScreen::name() is understandable, breaking backwards compatibility is a far greater concern for us.
We relied on QScreen::name() for functional reasons, not just logging, and updating Qt broke our code. How are we supposed to trust a dependency (Qt) that is ok with doing something like that?
You could've introduced a QScreen::friendly_name() with the new behavior for Windows and have it just do QScreen::name() on other platforms.
We used QScreen::name() functionally because we use native Windows code in some areas, and used the name to bridge the gap with Qt (to find the corresponding QScreen). Having some functionality to help with that would also be nice.