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

[MAC][5.6] Setting window flags (window type) is broken

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2: Important
    • 5.10
    • 5.6
    • GUI: Window management
    • None
    • macOS 10.13 Qt 5.6 from git
    • macOS

    Description

      The reported bug is fixed in Qt 5.10!

       

      Newer versions of macOS support Split View - a way to see windows side-by-side in Full Screen. This makes the option to be able to switch window type on the fly more important then ever - the user might want to have a floating window on top of Full Screen application OR might want the window on the side. The first is served by making the window a Qt::Tool, the latter - by making a normal Qt::Window. This transition is however broken in 5.6, particularly moving from 'tool' to 'window'.

       

      Supplied is a test case. Compile and run it. 

      Double click on the window to create a new (tool) window. Double-clicking on the new red window will toggle it b/w Qt::Tool and Qt::Window. You will see how the window is in broken state when it is first double-clicked and turned into a Qt::Window.

      If you change the code to init to a Qt::Window, on first double-click, it successfully transitions to a Qt::Tool but will fail to get back to a normal, non-broken Qt::Window though it will be "a bit better" (still no Full Screen button, possibly other issues).

       

      All this works correctly on Qt 5.10, but with a deployment target of macOS 10.10 (2014!), using it is a no-go for a lot of people! If this is is not patched, please provide pointers for fixing it ourselves. Thanks.  

       

      Attachments

        1. widget.cpp
          0.9 kB
        2. widget.h
          0.2 kB

        Activity

          People

            Unassigned Unassigned
            mnaydenov Mihail Naydenov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: