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
          16 kB
          Anton Lobashev
        2. qtbug53368_log.txt
          4 kB
          Friedemann Kleint
        3. qtbug53368_orig.zip
          4 kB
          Friedemann Kleint
        4. qtbug53368.zip
          3 kB
          Friedemann Kleint
        5. window_all_screen.png
          121 kB
          Anton Lobashev
        6. window_fullscreen_working.PNG
          12 kB
          Anton Lobashev
        7. window_fullscreen.png
          14 kB
          Anton Lobashev

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          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