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

showNormal() on a minimized dialog doesn't restore the dialog on the screen, Qt 5 regression on Mac & Linux

    XMLWordPrintable

    Details

    • Platform/s:
      macOS
    • Commits:
      d8f4abec711d7af4013209fd8b0c9edcedb44ab6 382b7afbe253c29499631066bbe1091f0afbd386

      Description

      When my application/dialog is minimized/iconified, a call to showNormal() doesn't restore it on the screen. The flags are changed (e.g isMinized() return false after the call) but the dialog iconified doesn't move, is not restored.

      I did a sample project (attached) to show the behavior. If the checkbox inside the dialog is checked, a timer fire every 3 seconds to test if the dialog is minimized/iconified. If it's the case, it calls showNormal on it and the window should be restore on the screen (above or below active window, to have a better test, just minimized every other windows). When the exemple run, minimized the dialog and wait 3 seconds, the dialog should be restore but it's not the case on Mac OS and Linux for Qt 5.0.2. I don't have the issue on Windows 7.

      This is a regression in Qt 5, I tested the following example on Qt 4.8.4 and the result is correct.

        Attachments

        1. TestRestoreDialog.zip
          3 kB
          Jonathan Courtois

          Issue Links

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

            Activity

              People

              • Assignee:
                srutledg Shawn Rutledge
                Reporter:
                johnlamericain Jonathan Courtois
              • Votes:
                6 Vote for this issue
                Watchers:
                19 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes