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

Widgets over a QMdiArea are not repainted correctly

XMLWordPrintable

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

      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).

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

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes