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

Background not re-generated when window is moved back onto screen

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 4.6.2
    • 4.6.0
    • None
    • None
    • bc82db4d08860735bbae584a54d1b591c760e38b

    Description

      When a window is moved off the screen on Symbian, the backing store is destroyed to save memory. When the window is moved back on to the screen, the backing store is recreated and the entire window is invalidated so that it can repopulate the backing store with content. However, if only a portion of the window is moved on to the screen, this implies that only a portion of the background will be filled. Subsequent moves do not result in a paint events (as an optimization), but the exposing of the new area should generate paint events. The problem is that it currently doesn't because QSymbianControl::Draw() simply does a bit blit of the old backing store contents.

      The reason that function does that instead of calling sync() (to update the backing store contents) is that the sync() code path will eventually call DrawNow() which will result in a call to Draw() so calling sync() would result in recursion. This causes additional problems because you cannot call Draw() recursively because it will cause multiple activations of the graphics context which results in a panic.

      Attachments

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

        Activity

          People

            jabarron Jason Barron
            jabarron Jason Barron
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes