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

Expose events should be sent synchronously

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.5.0
    • 5.4.0 Beta
    • GUI: Window management
    • None
    • c5ecabb70c0f0cb25a22bf3742f39648a34d1c3c

    Description

      I think that the sending of QExposeEvents should always be done in a synchronous manner. The problem is that when they are sent asynchronously as they are now, then when trying to handle the case of an effective unexpose event (empty qregion) that then results in the platform window being destroyed, it is already too late.

      If the expose event is handled synchronously then the application can respond accordingly and stop rendering to the window surface before is is destroyed.

      This is needed to be able to manage rendering in threads other than the gui thread.

      The wayland qpa works around this at present by explicitly flushing the event queue after posting the expose event. However, I think this should be the case for all platforms.

      Attachments

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

        Activity

          People

            seanharmer Sean Harmer
            seanharmer Sean Harmer
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes