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

Mac crash when disconnecting AirDisplay monitor.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.3.2
    • 5.2.1
    • GUI: Window management
    • None
    • Mac OS X 10.7, 10.8, 10.9.
    • macOS

    Description

      Qt 5.2.1 fixed some crashes our customers were getting when changing their monitor configuration. However, we are still getting some crashes.

      One customer said he was trying to use AirDisplay, which is an iOS app for extending your desktop to an iPhone/iPad. So we tested and confirmed that this was possible.

      You can crash our test application (or probably most applications) like this:

      • Start AirDisplay Host on your computer and on your iPhone/iPad.
      • Start the application.
      • Move an application window so it is mostly on the iPhone/iPad display.
      • Quit AirDisplay.

      What happens:
      The OS does not report the new monitor configuration before it requests a repaint (at least in Qt). So QCocoaScreen::devicePixelRatio() gets called, which calls QCocoaScreen::osScreen(), and this has an invalid index (m_screenIndex) in to the [NSScreen screens]. This raises an exception, and then the application crashes or behaves badly.

      I'm not sure if this timing issue ever occurs with regular monitors.
      However, AirDisplay is becoming more and more popular, so it may still be an important issue to resolve.

      Attachments

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

        Activity

          People

            dedietri Gabriel de Dietrich (drgvond)
            dzedsystems Dyami Caliri
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes