Hi Jonathan,
Thanks for the explanation of why NULL can't be passed as the name
parameter to an XmCreate* routine with Motif 2.1.
I fixed the problem with regard to "glwMDrawingAreaWidgetClass" by
manually compiling the code in the widgets-sgi subdirectory of the
Mesa-3.2.1 source tree, then placing object files in a library libGLw.a,
and the header files in /usr/local/include.
Finally, I found the cause of the problem with the sliders, color wheel
and color patches used by the Material Editor. When compiled against
openmotif-2.1.30-4_MLI from Metrolink, on a generic PC with RH 6.2, the
devices get drawn using double buffering. After adding calls to
glXSwapBuffers as detailed below, ALL of the Editors work perfectly. :-)
I changed the source as follows:
1.In inventor/libSoXt/src/mixedMode/SoXtSlider.c++, add:
glXSwapBuffers( getDisplay(), getNormalWindow() );
as the last statement in _SoXtSlider::redraw
2.In inventor/libSoXt/src/mixedMode/SoXtColWheel.c++ replace glFlush(); with
glXSwapBuffers( getDisplay(), getNormalWindow() );
at the end of _SoXtColorWheel::redraw
3.In inventor/libSoXt/src/mixedMode/SoXtColPatch.c++ replace glFlush(); with
glXSwapBuffers( getDisplay(), getNormalWindow() );
at the end of BOTH _SoXtColorPatch::redraw and _SoXtColorPatch::setColor
I don't know what the best way to fix this in the common source tree
would be. Perhaps some conditional compilation option is currently not
working as intended with the combination of libraries that I am using.
By the way, thanks a lot for the excellent work that you and your
colleagues have done with Open Inventor, and thanks to SGI for making
it available under the GNU Lesser GPL. We will be using it this semester
in our computer graphics course.
Regards,
Dennis
--
Dennis Mikkelson
dennis@xxxxxxxxxxxxxxxxxxxxxx
|