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

    • macOS
    • 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

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

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes