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

Widgets over a QMdiArea are not repainted correctly

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • 6.2.3
    • 5.14.2, 5.15.2, 6.2.1
    • None
    • IMX6
    • Linux/Yocto

    Description

      With the fix for QTBUG-64504, widgets that are placed over a QMdiArea are not redrawn when a QMdiSubWindow is moved from underneath them; the effect is that when the subwindow is moved away from under the overlapping widget, you see the background of the QMdiArea and not the widget that is placed on top.

      Steps to reproduce:

      1. Create a QMdiArea (with a background image) and a few QMdiSubWindows.
      2. Create and position a widget over the top of the QMdiArea (e.g. a toolbar type widget)
      3. Move a subwindow underneath the widget and back so that they don't overlap

      Expected behaviour: The widget on top of the QMdiArea remains on top and is drawn fully

      Actual behaviour: The widget on top of the QMdiArea is painted over by the background of the QMdiArea (partially so if the sub-window was only under a part of the widget).

      The issue can be worked around by undoing the fix for QTBUG-64504, or by disabling accelerateMove whenever the source of destination rectangles overlap with the widget (patch attached). The patch is a workaround and not a fix (which would require substantially more time to root-cause the fault in the new code, fix it and test it properly).

      Attachments

        Issue Links

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

          Activity

            People

              vhilshei Volker Hilsheimer
              cpringle Chris Pringle
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes