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

Regression: [5.11.0 -> 5.11.1] QGLWidget paintEvent is not called if a QGLWidget is contained in a dialog that is closed and then reopened

    XMLWordPrintable

Details

    • Linux/X11, macOS, Windows
    • ccd3bf0871b81dfc09bb469b161f32dfb47ee53e (qt/qtbase/5.13) 40b33adb7ab5d0295fa95cf66a8d3f59c8d11739 (qt/qtbase/5.12), 1308f7e0b (dev), 2332a9c67 (6.7)

    Description

      A custom widget derived from QGLWidget fails to be drawn if it is contained in a dialog that is closed and then reopened.

      If the widget is derived from QOpenGLWidget it works properly, and with 5.11.0 and previous versions of Qt it works properly.

      First version we checked the bug exists is Qt 5.11.1

      I attach a minimum case to check the bug:

      Compile and launch, it will create a mainwindow with a pushbutton "Show". Steps to reproduce

      • Push Show
      • A dialog will open with only a QGLWidget that draws a cross
      • close the dialog
      • push show again
      • Expected -> same cross drawn ; Obtained -> Blank dialog

      Notice that every time the QGLWidget widget is called it should write to console and in sucessive calls it does not.

      Attachments

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

        Activity

          People

            qt.team.graphics.and.multimedia Qt Graphics Team
            ballfire Alejandro Lorenzo
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: