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

"Invalid drawable" in OpenGL/Cocoa with Qt 4

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Moved
    • Icon: P2: Important P2: Important
    • None
    • 4.6.1
    • GUI: OpenGL
    • None
    • Mac OSX 10.5 and 10.6 with Cocoa and frameworks

      This is a problem with Qt 4 on Mac/Cocoa, not a problem with WIndows or Linux versions.
      If you embed a QGLWidget in a scrolled QWidget, and if the QGLWidget is not exposed when the QWidget is first shown, then you get an "invalid drawable" message and the QGLWIdget won't render. The peculiar behavior of Cocoa openGL contexts has been reported on Apple websites, e.g. http://lists.apple.com/archives/mac-opengl/2002/Mar/msg00189.html . However, Qt does not offer API to enable users to work around this. There is a nasty workaround that I found: You can hide() the QGLWidget and then call show() on it when it is first exposed. But Qt needs to offer a better fix.

        1. mac_SqueezedLowerWidget.png
          13 kB
          Oliver Knoll
        2. mac_UpperWidgetScrolledFullyLeft.png
          14 kB
          Oliver Knoll
        3. mac_UpperWidgetScrolledFullyRight.png
          14 kB
          Oliver Knoll
        4. scrolledtextures.zip
          24 kB
          Oliver Knoll
        5. win_bothwidgets.png
          12 kB
          Oliver Knoll
        6. win_CorrectLowerWidget.png
          7 kB
          Oliver Knoll
        7. win_UpperWidgetScrolledFullyLeft.png
          3 kB
          Oliver Knoll
        8. win_UpperWidgetScrolledFullyRight.png
          4 kB
          Oliver Knoll
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            kjernase Trond Kjernåsen (Inactive)
            alannorton Alan Norton
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes