Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-86604

Only availableGeometryChanged() (not geometryChanged() ) is emitted when the logical DPI of a screen changes

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.15.2
    • 5.15.1
    • GUI: Workspace
    • None
    • Arch Linux
      KDE Plasma 5.19.5
      Xorg Server 1.20.9
      Mesa 20.3
    • Linux/X11
    • 5c7307775d32ae0a54acad8ae7a1c9d3cff7d45e (qt/qtbase/dev) 65243ad7aef48af4689ea4454916b504025b5051 (qt/qtbase/5.15)

    Description

      After upgrading the QT5 dependency packages for KDE Plasma from 5.15.0 to 5.15.1, the size and positioning of my desktops is mixed up (see attached screenshot).

      My left monitor (1680x1050, connected via HDMI) seems to have the desktop size and boundary of my right monitor (2560x1440, connected via DP) assigned and vice versa. Possibly a screen coordinate handling issue.

      After downgrading the QT5 packages back to 5.15.0, the issue went away.

      Since this can be perfectly reproduced with a QT5 package upgrade, I'm filing the bug here instead of with the KDE team.

      Reportedly introduced by "Emit QScreen::(availableG|g)eometryChanged() on logical DPI change" 5290027e3bab75f14fc0a2b7c206594d9cb91e76 https://codereview.qt-project.org/c/qt/qtbase/+/283481

      Steps to reproduce:

      • Use qtbase\tests\manual\highdpi
      • Open screen metrics , signals tab
      • Change logical DPI / screen res
      • Observe
        000000ms: (\\.\DISPLAY1 1680x1050+0+0)
        007074ms: \\.\DISPLAY1 logicalDotsPerInch changed: 96
        007076ms: \\.\DISPLAY1 availableGeometry changed: 1344x808+0+0
        007077ms: \\.\DISPLAY1 virtualGeometry changed: 1344x840+0+0
        007437ms: \\.\DISPLAY1 availableGeometry changed: 1344x800+0+0
        007439ms: \\.\DISPLAY1 virtualGeometry changed: 1344x840+0+0
        

        Expected: geometryChanged() should be listed

      Attachments

        1. 0001-Update-geometry-in-QScreen-setPlatformScreen.patch
          1.0 kB
          Magnus Groß
        2. qtbug86604_diag.diff
          4 kB
          Friedemann Kleint
        3. qtbug86604.zip
          2 kB
          Friedemann Kleint
        4. Screenshot_20200912_135625.jpg
          124 kB
          B K
        For Gerrit Dashboard: QTBUG-86604
        # Subject Branch Project Status CR V

        Activity

          People

            kleint Friedemann Kleint
            bk B K
            Votes:
            7 Vote for this issue
            Watchers:
            16 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes