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

Expose events should be sent synchronously

XMLWordPrintable

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

      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.

        For Gerrit Dashboard: QTBUG-42483
        # Subject Branch Project Status CR V

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes