Problem 203

Summary: The OIX viewer is frozen
Product: Geant4 Reporter: ob214
Component: visualization/OpenInventorAssignee: Satoshi Tanaka <stanaka>
Status: RESOLVED FIXED    
Severity: normal CC: barrand, John.Allison, stanaka
Priority: P2    
Version: other   
Hardware: PC   
OS: Linux   

Description ob214 2001-01-24 10:41:00 CET
When I select the viewer OIX, the OpenInventor HepViewer is called fine but
then I don't seem to be able to manipulate the objects.
If I try to rotate the picture nothing happens. If I then open file->save
window, the picture rotates.
So I suspect the picture doesn't update automatically and does so only when I
try to do something else.
Comment 1 John.Allison 2001-02-06 18:46:59 CET
Jeff, Guy - any ideas?
Comment 2 barrand 2001-11-26 01:35:59 CET
I have started to look at this problem but I am also VERY busy with
releasing things related to analysis.
I have tried with version of SoFree & HEPVis with which I know that things
was ok and now things are clearly broken. Then it is not related to the
"transfer" of HEPVis/SoWindow under
vis/OpenInventor/G4SoWindow (in prevision of HEPVis-6.0).
I suspect that something had changed in the way to treat the X event
within the G4/interfaces/G4Xt or G4UIXm classes.
Will try to finish the debugging before the 30th of November (2001 !)...
Comment 3 barrand 2001-12-03 01:33:59 CET
The problem came from the usage of the std::remove in
source/interfaces/common/src/G4VInteractorManager::RemoveDispatcher.
SoXt::dispatchEvent doing the XtDispatchEvent it is necessaory to
remove XtDispatchEvent from the list of Xt displatchers when using
Inventor. Else the X event are never passed to SoXt::dispatchEvent
and the Inventor viewers are out. A call to G4VInteractorManager is done
in G4OpenInventorX but it appears that within the
G4VInteratorManager::RemoveDispatcher the std::remove does not do the job.
Then I have changed the logic and do a for + erase(*it) to remove the Xt
dispatcher. I have tested on Linux with G4UIXm, OpenGLImmediateXm and
OpenInventor driver in the same session. Things seem ok.