← Back to team overview

yade-dev team mailing list archive

[svn] r1471 - eudoxos

 

------------------------------------------------------------------------
r1471 | eudoxos | 2008-08-16 23:25:23 +0200 (sob, 16 sie 2008) | 4 lines
Changed paths:
   M /trunk/core/yade.cpp
   M /trunk/gui/py/PythonUI.cpp

1. Fix GUI "crash" when trying to run python console without terminal (running by clicking an icon, for example): if no $TERM, run non-interactively
2. Select QtGUI over PythonUI if no $TERM set


------------------------------------------------------------------------
Index: gui/py/PythonUI.cpp
===================================================================
--- gui/py/PythonUI.cpp	(revision 1470)
+++ gui/py/PythonUI.cpp	(revision 1471)
@@ -70,7 +70,8 @@
 	 * Hence we remap ^C (keycode in c_cc[VINTR]) to killing the line (c_cc[VKILL]) and disable VINTR afterwards.
 	 * The behavior is restored back by the PythonUI::termRestore registered with atexit.
 	 * */
-	termSetup();
+	if(getenv("TERM")) termSetup();
+	else nonInteractive=true;
 
 	LOG_DEBUG("PythonUI::pythonSession");
 	PyGILState_STATE pyState = PyGILState_Ensure();
Index: core/yade.cpp
===================================================================
--- core/yade.cpp	(revision 1470)
+++ core/yade.cpp	(revision 1471)
@@ -240,6 +240,7 @@
 	}
 
 	if(gui.size()==0) gui=Omega::instance().preferences->defaultGUILibName;
+	if(gui=="PythonUI" && !getenv("TERM")){ LOG_WARN("No $TERM, using QtGUI instead of PythonUI"); gui="QtGUI"; }
 	if(gui=="QtGUI" && !getenv("DISPLAY")){ LOG_WARN("No $DISPLAY, using PythonUI instead of QtUI"); gui="PythonUI"; }
 		
 	shared_ptr<FrontEnd> frontEnd = dynamic_pointer_cast<FrontEnd>(ClassFactory::instance().createShared(gui));