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

Toggling fullscreen for frameless window with no system background doesn't work if its position is 0,0.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P4: Low P4: Low
    • 5.15.0 Beta4
    • 5.14.2
    • QPA: Windows
    • None
    • Windows
    • 18fa1ed74745931c15d525703ac05bbf3f2c9c5b (qt/qtbase/5.15)

      After some debugging I found that this is because the only time the window is updated is when a WM_MOVE happens, and it always happens when you toggle fullscreen except for this edge case. It got triggered by QTBUG-83448 so together these issues cause a pretty big problem.

      For some reason it seems to only happens if Qt::WA_TranslucentBackground is set but I haven't debugged why.

      In qwindowswindow.cpp I tried to run handleGeometryChange in the end of setWindowState_sys as I noticed that a similar issue in setWindowFlags was solved this way but it seems like it was too early so I'm not quite sure what the best solution would be...

       

      Repro steps:

      1. Run the attached example.
      2. Try to toggle fullscreen with the toggle fullscreen button, it doesn't change the size of the window.
      3. Move the window with the move button.
      4. Try toggling fullscreen again, this time it works.

        1. qtbug83449_diag.diff
          5 kB
        2. QTBUG-83449.cpp
          1 kB
        3. qtbug83449.zip
          5 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            kleint Friedemann Kleint
            cyriuz Viktor Arvidsson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes