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

    • macOS
    • d8f4abec711d7af4013209fd8b0c9edcedb44ab6 382b7afbe253c29499631066bbe1091f0afbd386

      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.

        1. TestRestoreDialog.zip
          3 kB
          Jonathan Courtois
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            srutledg Shawn Rutledge
            johnlamericain Jonathan Courtois
            Votes:
            6 Vote for this issue
            Watchers:
            20 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes