Creating many QGLWidgets causes GLXBadDrawable error in X Server
I have a Qt application that creates and shows many QGLWidgets, mostly as separate windows. In fact, there is one QGLWidget as the Central Widget of Main Window, three to four more as Widgets in a UI file (that also contains other Widgets and Layouts), and several more as separate Windows. The application allows dynamic/interactive creation of new QGLWidget Windows.
After creating a certain number (about 10 to 20) of such QGLWidget Windows, trying to create another one causes X Server to report GLXBadDrawable error with the below details. The error is reported when the call to "show ()" on the newly created QGLWidget Window is made.
X Error: GLXBadDrawable 159
Extension: 145 (Unknown extension)
Minor opcode: 5 (Unknown request)
Resource id: 0x22005eb
QGLContext::makeCurrent (): Failed.
The newly-created QGLWidget Window shows up with its Window Title and Frame, but nothing inside is shown. After this point, the CPU utilization is full and the X Server freezes. Sometimes the X Server crashes and restarts.
Could you please hint what are possible reasons for this behavior?
Qt 4.3.0 Commercial Edition for Solaris (X11)
Solaris 10 (SunOS 5.10)
NVidia Quadro FX 1400 video card with its OpenGL driver
gcc 4.1.1 compiler
The same application runs fine allowing creation of several QGLWidget Windows on Windows XP with Qt 4.3.0, NVidia Quadro FX 1400 video card with its OpenGL driver, and MinGW or MSVC compiler.