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

If window frame geometry is equal to screen geometry, making it fullscreen won't change inner surface size (after some repeats)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 5.5.0, 5.6.0
    • None
    • Windows 7, Qt 5.6.0

    Description

      I've noticed that if you have a window that is not maximized, but has the size equal to the size of the screen (say, for example, 1920x1080) and the origin at (0, 0), then when you switch it to fullscreen, the inner surface will not be resized to the new size (which should change since the window now has no borders). If you resize (or move) the window even just by one pixel, everything works perfectly.

      After looking into it a little bit, I discovered that QWindowsWindow::handleGeometryChange doesn't get called (or rather, returns too early to update window geometry), so it looks as though it doesn't react to window state change, because the geometry of the window doesn't really change: it was (0, 0, 1920, 1080) before fullscreen and it is (0, 0, 1920, 1080) again after going fullscreen.

      I've made a simple application to reproduce the issue: one button to set window geometry to be equal to screen geometry, one button to switch fullscreen state (note: to reproduce the issue visibly you might need to switch to and from fullscreen twice), and a label with current geometry (frame geometry in parens). You can see that normal geometry is reported wrongly in fullscreen mode and there are some artifacts at the right side and bottom.

      Attachments

        1. broken_fullscreen.png
          broken_fullscreen.png
          16 kB
        2. qtbug53368_log.txt
          4 kB
        3. qtbug53368_orig.zip
          4 kB
        4. qtbug53368.zip
          3 kB
        5. window_all_screen.png
          window_all_screen.png
          121 kB
        6. window_fullscreen_working.PNG
          window_fullscreen_working.PNG
          12 kB
        7. window_fullscreen.png
          window_fullscreen.png
          14 kB

        Issue Links

          For Gerrit Dashboard: QTBUG-53368
          # Subject Branch Project Status CR V

          Activity

            People

              kleint Friedemann Kleint
              soulthreads Anton Lobashev
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes