===================================================================== NOTE: see also src/Inventor/Xt/common/BUGS.txt. ===================================================================== This is a list of issues that needs to be investigated and fixed. The number is just the chronologic numeric id, and has no bearing on what priority the item has. ===================================================================== 000 Tooltips on viewer buttons. The functionality of the different viewer pushbuttons is not entirely obvious, so we should add tooltips on the buttons. 20030114 mortene. ======================================================================== 001 With SoXt, when doing a deco on/off, I get a bad size on my views. Mainly the decoartion size is badly taken into account at the level of the GL widget. In the join .diff file I propose to fix that by introducing a resizeCB on the GLWidget that will take into account the needed corrections to handle decoration size on this widget. [patches was attached] Reported by Guy Barrand Update 20030204 larsa: The proposed solution needs at least /some/ reworking to not drag Widget-specific stuff into the public API of the generic components. ======================================================================== 002 When I have a program that creates a SoGtkExaminerViewer or an SoXtExaminerViewer; by default the viewer is in viewing mode (which is ok) but the cursor is in picking mode! Reported by Guy Barrand ======================================================================== 003 Assertion failed: visual != (Visual *) NULL && colormap != 0, file SoXtThumbWheel.cpp, line 455 (when running under Uim/X) Reported by Mark Anderson ======================================================================== 004 "Dark Screen" e.g. the colors are all wrong, very dark, can't see any menu items or popup text Reported by Mark Anderson Update 20030408 larsa: I can reproduce a problem that seems to be the same one on Linux by explicitly selecting a Visual in the DirectColor class. Run "glxinfo -t" to find one, and set the environment variable SOXT_SELECT_VISUAL to the XVisualID of the visual you want to force SoXt into selecting. ======================================================================== 005 Porting Coin/SoXt to work with NuTCracker from MKS. NuTCracker is pretty similar to cygwin but I'm not sure of all the differences. We are having problems running the config scripts because they recognize the system as Windows-based instead of Unix-based, like a cygwin system would. However, NuTCracker uses Visual C++ and Absoft Fortran for compilers, not gcc. Reported by Mark Anderson ======================================================================== 006 The SoXtColorEditor is missing. This widget is part of the SoXtMaterialEditor. It was made public in TGS Inventor 3.0, reportedly. Reported by Mark Anderson Update 20030410 larsa: Only cosmetics remains on this one. ======================================================================== 007 The SoXtMaterialEditor is missing Assuming people are interested in this one too. Update 20030422 larsa: Should be only cosmetics left on this one. ======================================================================== 008 The class hierarchy doesn't match the original SGI hierarchy in the protected: sections of different classes. Reported by Mark Anderson ======================================================================== 013 Something is fishy with how the default visual, colormap and depth are picked out (SoXtInternal, SoXtThumbWheel) - cause X errors on IRIX. Reported by Morten Eriksen Update 20030422 larsa: Couldn't reproduce. Maybe if I reverse this part about configuring the IRIX Xserver to use 24-bit visuals by default in question 71 in the comp.sys.sgi.graphics FAQ , I might be able to reproduce? ======================================================================== 014 SoXtComponent::setFullScreen() does not work Code that works for non-realized widgets was submitted, but not code that can toggle already opened windows. Reported by Fernando Vega ======================================================================== 015 New windows pop up in the top-left corner at coordinate (0,0), while for the other toolkits, they pop up centered. This is with the larswm window manager - don't know if this is a problem with any other wm. Nevertheless, it clearly indicates that something is non-standard with the initial window attributes. Reported by Lars J. Aas Update 2003-03-17 larsa: This is apparently a bug in Motif - giving the WM PPosition hints for position 0, 0. Some WMs know about this and will ignore Motif, but some WMs don't. My attempts at removing the incorrect WM hints have so far been unsuccessful. ======================================================================== 016 Crash with embedded SoXtExaminerViewer. Reported by Kai Benndorf on coin-discuss: i'm trying to port an application from SGI/TGS Inventor to Coin using SoXt under Linux. There is a SoXtExaminerViewer embedded in an wxWindows Window. The way it was done works good with SGI/TGS SoXt, but not with Coins SoXt (The application crashes on creating the pixmaps for the viewer buttons, embedding of SoXtRenderArea works ok). [...] i've looked into the SoXt library myself, but don't found anything wrong. So i tried to reproduce the error in a small Motif (not wxWindows) example. The results is the appended example program. It crashes at the same place as my application. It works, if i use a SoXtRenderArea instead of the SoXtExaminerViewer or build the SoXtExaminerViewer non embedded. Program to reproduce problem: ------8<---- [snip] -----------8<---- [snip] -----------8<--- #include #include #include #include #include #include #include #include void main ( int argc , char **argv ) { Widget rootWidget; XtToolkitInitialize(); XtAppContext appContext = XtCreateApplicationContext(); Display* display = XtOpenDisplay( appContext, NULL, NULL, "Gradian", NULL, 0, &argc, argv ); rootWidget = XtAppCreateShell( NULL, "Gradian", applicationShellWidgetClass, display, NULL, 0 ); SoXt::init( rootWidget ); Widget theMainForm = XtCreateWidget( "visMainForm" , xmFormWidgetClass , rootWidget , NULL , 0 ); // The embedded viewer don't work SoXtExaminerViewer *theViewer = new SoXtExaminerViewer( theMainForm , "examinerArea" , true , SoXtFullViewer::BUILD_ALL , SoXtViewer::EDITOR ); // a embedded SoXtRenderArea works // SoXtRenderArea *theViewer = new SoXtRenderArea( theMainForm , // "examinerArea" , true ); // and a non ebedded SoXtExaminerViewer works // SoXtExaminerViewer *theViewer = new SoXtExaminerViewer( NULL , // "examinerArea" , true , SoXtFullViewer::BUILD_ALL , // SoXtViewer::EDITOR ); Widget viewerWidget = theViewer->getWidget(); Arg args[ 6 ]; int n = 0; XtSetArg( args[n] , XmNtopAttachment , XmATTACH_FORM ); n++; XtSetArg( args[n] , XmNleftAttachment , XmATTACH_FORM ); n++; XtSetArg( args[n] , XmNrightAttachment , XmATTACH_FORM ); n++; XtSetArg( args[n] , XmNbottomAttachment , XmATTACH_FORM ); n++; XtSetValues( viewerWidget , args , n ); theViewer->show(); SoXt::show( theMainForm ); SoXt::show( rootWidget ); XtRealizeWidget( rootWidget ); SoXt::mainLoop(); } ------8<---- [snip] -----------8<---- [snip] -----------8<--- 20030217 mortene. ======================================================================== 017 Wrong cursor at start-up. The following dead-simple example demonstrates a bug with SoXt. At start-up, the mode is "interact with camera", but the cursor graphics is as for "interact with scene graph". (Click LMB and drag, and then the cursor graphics gets corrected to what it should be from the start.) ------8<---- [snip] -----------8<---- [snip] -----------8<--- #include #include #include #include int main(int argc, char ** argv) { Widget top = SoXt::init(argv[0]); SoSeparator * root = new SoSeparator; root->ref(); SoCube* cube = new SoCube; root->addChild(cube); SoXtExaminerViewer* viewer = new SoXtExaminerViewer(top); viewer->setSceneGraph(root); SoXt::show(top); SoXt::mainLoop(); root->unref(); delete viewer; return 0; } ------8<---- [snip] -----------8<---- [snip] -----------8<--- 20030409 mortene. Reported by Guy Barrand. ======================================================================== 018 Sensor handling incorrect This SoGui library has its own delayqueue timeout timer. This will cause delayqueue timeouts to trigger twice since Coin handles this internally as well. In addition, the code should be reviewed for bugs related to assumptions on when the global field is updated in Coin (the global field is updated after SoSceneManager::render(), not after SoSceneManager::redraw() as was the case earlier. I suspect further bugs to surface when the issues above are fixed, so a thorough code review should be performed. See the Sc21 source code for en example of how this should be done. 20040921 kintel. =====================================================================