[Orxonox-commit 1454] r6172 - code/branches/presentation2/src/libraries/core
scheusso at orxonox.net
scheusso at orxonox.net
Fri Nov 27 12:42:38 CET 2009
Author: scheusso
Date: 2009-11-27 12:42:38 +0100 (Fri, 27 Nov 2009)
New Revision: 6172
Modified:
code/branches/presentation2/src/libraries/core/IOConsole.cc
code/branches/presentation2/src/libraries/core/IOConsole.h
Log:
actually i think it's nicer this way ;)
Modified: code/branches/presentation2/src/libraries/core/IOConsole.cc
===================================================================
--- code/branches/presentation2/src/libraries/core/IOConsole.cc 2009-11-27 11:30:29 UTC (rev 6171)
+++ code/branches/presentation2/src/libraries/core/IOConsole.cc 2009-11-27 11:42:38 UTC (rev 6172)
@@ -116,8 +116,6 @@
namespace orxonox
{
- termios* IOConsole::originalTerminalSettings_s = 0;
-
namespace EscapeMode
{
enum Value
@@ -134,6 +132,7 @@
, cout_(std::cout.rdbuf())
, bStatusPrinted_(false)
, promptString_("orxonox # ")
+ , originalTerminalSettings_(0)
{
this->setTerminalMode();
this->shell_->registerListener(this);
@@ -368,10 +367,10 @@
void IOConsole::setTerminalMode()
{
termios new_settings;
- IOConsole::originalTerminalSettings_s = new termios();
+ this->originalTerminalSettings_ = new termios();
- tcgetattr(0, this->originalTerminalSettings_s);
- new_settings = *this->originalTerminalSettings_s;
+ tcgetattr(0, this->originalTerminalSettings_);
+ new_settings = *this->originalTerminalSettings_;
new_settings.c_lflag &= ~(ICANON | ECHO);
//new_settings.c_lflag |= (ISIG | IEXTEN);
new_settings.c_cc[VTIME] = 0;
@@ -382,11 +381,11 @@
/*static*/ void IOConsole::resetTerminalMode()
{
- if(IOConsole::originalTerminalSettings_s)
+ if(IOConsole::singletonPtr_s && IOConsole::singletonPtr_s->originalTerminalSettings_)
{
- tcsetattr(0, TCSANOW, IOConsole::originalTerminalSettings_s);
- delete IOConsole::originalTerminalSettings_s;
- IOConsole::originalTerminalSettings_s = 0;
+ tcsetattr(0, TCSANOW, IOConsole::singletonPtr_s->originalTerminalSettings_);
+ delete IOConsole::singletonPtr_s->originalTerminalSettings_;
+ IOConsole::singletonPtr_s->originalTerminalSettings_ = 0;
}
}
Modified: code/branches/presentation2/src/libraries/core/IOConsole.h
===================================================================
--- code/branches/presentation2/src/libraries/core/IOConsole.h 2009-11-27 11:30:29 UTC (rev 6171)
+++ code/branches/presentation2/src/libraries/core/IOConsole.h 2009-11-27 11:42:38 UTC (rev 6172)
@@ -92,7 +92,7 @@
static const unsigned minOutputLines_ = 3;
#ifdef ORXONOX_PLATFORM_UNIX
- static termios* originalTerminalSettings_s;
+ termios* originalTerminalSettings_;
#elif defined(ORXONOX_PLATFORM_WINDOWS)
void moveCursor(int dx, int dy);
void moveCursorYAndHome(int dy);
More information about the Orxonox-commit
mailing list