Opened 16 years ago

Last modified 13 years ago

#19 new defect

geant4 UI : avoid bloking command Line when terminal typing

Reported by: /C=FR/O=CNRS/OU=UMR8607/CN=Laurent Garnier/emailAddress=garnier@… Owned by:
Priority: major Milestone: Geant4.9.5
Component: Interfaces Version:
Keywords: Cc:

Description

Try for exemple launching NO2 :
Can't interact because of :

0x932f057f in getc ()

  • std::istream::getline ()
  • G4String::readLine (this=0xbfffe214, s=@0xa05c45a0, skipWhite=false) at G4String.icc:303
  • G4UIcsh::GetCommandLine (this=0x375e0b0, msg=0x0) at src/G4UIcsh.cc:55
  • G4UIterminal::GetCommand (this=0x375dd50, msg=0x0) at src/G4UIterminal.cc:216

Change History (4)

comment:1 Changed 16 years ago by /C=FR/O=CNRS/OU=UMR8607/CN=Laurent Garnier/emailAddress=garnier@…

The problem seams to be in G4OpenGLQtViewer :

    foreach (QWidget *widget, QApplication::allWidgets()) {
      if ((found== false) && (widget->inherits("QMainWindow"))) {
        GLWindow = new QDialog(0,Qt::WindowTitleHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint);
        found = true;
      }
    }
#endif

#if QT_VERSION < 0x040000
    glWidget->reparent(GLWindow,0,QPoint(0,0));  
#else
    glWidget->setParent(GLWindow);  
#endif

    if (found==false) {
#ifdef GEANT4_QT_DEBUG
      printf("G4OpenGLQtViewer::CreateMainWindow case Qapp exist, but not found\n");
#endif
  • In NO3, everything fine
  • In NO2, "G4OpenGLQtViewer::CreateMainWindow case Qapp exist, but not found"

...

comment:2 Changed 16 years ago by /C=FR/O=CNRS/OU=UMR8607/CN=Laurent Garnier/emailAddress=garnier@…

In fact, it is a problem of even loop of Qt, we could not do twice even loop same time....

comment:3 Changed 14 years ago by /C=FR/O=CNRS/OU=UMR8607/CN=Laurent Garnier/emailAddress=garnier@…

Milestone: Geant4.9.4

comment:4 Changed 13 years ago by /C=FR/O=CNRS/OU=UMR8607/CN=Laurent Garnier/emailAddress=garnier@…

Milestone: Geant4.9.4Geant4.9.5
Note: See TracTickets for help on using tickets.