[Fresco-changes] Fresco/SDL/src Console.cc,1.14,1.15 Console.hh,1.11,1.12

Nick Lewycky nicholas at fresco.org
Sun Jan 12 02:25:12 UTC 2003


Update of /cvs/fresco/Fresco/SDL/src
In directory purcel:/tmp/cvs-serv15745/SDL/src

Modified Files:
	Console.cc Console.hh 
Log Message:
Back out patch from bug106.
Fix SDLConsole wakeup handling.


Index: Console.cc
===================================================================
RCS file: /cvs/fresco/Fresco/SDL/src/Console.cc,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- Console.cc	4 Jan 2003 13:51:02 -0000	1.14
+++ Console.cc	12 Jan 2003 02:25:09 -0000	1.15
@@ -123,8 +123,6 @@
   SDL_Init(SDL_INIT_VIDEO);
   SDL_ShowCursor(SDL_DISABLE);
   SDL_EnableUNICODE(SDL_ENABLE);
-
-  pipe(_wakeupPipe);
 }
 
 SDL::Console::~Console()
@@ -134,8 +132,6 @@
   for (dlist_t::iterator i = _drawables.begin();
        i != _drawables.end();
        i++) delete *i;
-  close(_wakeupPipe[0]);
-  close(_wakeupPipe[1]);
   SDL_Quit();
 }
 
@@ -189,20 +185,16 @@
   os << "sorry, device info isn't available for SDL at this time" << std::endl;
 }
 
-// a true result is a promise that we won't block when next_event is next called
-bool SDL::Console::has_event()
-{
-  Prague::Trace trace("SDL::Console::next_event()");
-
-  return SDL_PeepEvents(0, 1, SDL_PEEKEVENT, 0);
-}
-
 Input::Event *SDL::Console::next_event()
 {
   Prague::Trace trace("SDL::Console::next_event()");
   
   SDL_Event event;
   SDL_WaitEvent(&event);
+  if (event.type == SDL_USEREVENT)
+  {
+    return 0;
+  }
   return synthesize(event);
 }
 
@@ -210,7 +202,12 @@
 {
   Prague::Trace trace("SDL::Console::wakeup()");
 
-  char c = 'z'; write(_wakeupPipe[1],&c,1);
+  SDL_Event event;
+  event.type = SDL_USEREVENT;
+  SDL_PushEvent(&event);
+  event.user.code = 0;
+  event.user.data1 = 0;
+  event.user.data2 = 0;
 }
 
 Input::Event *SDL::Console::synthesize(const SDL_Event &e)
@@ -350,7 +347,7 @@
 				    double blue)
 {
 #ifdef RMDEBUG
-  // I try to stay 'below' the Drawable where ever possible so that bugs in
+  // I try to stay 'below' the Drawable whereever possible so that bugs in
   // that code cannot influence the highlighting.
 
   if (is_gl()) {

Index: Console.hh
===================================================================
RCS file: /cvs/fresco/Fresco/SDL/src/Console.hh,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- Console.hh	4 Jan 2003 13:51:02 -0000	1.11
+++ Console.hh	12 Jan 2003 02:25:09 -0000	1.12
@@ -124,7 +124,6 @@
 
   // Input related:
   virtual void device_info(std::ostream &);
-  virtual bool has_event();
   virtual Fresco::Input::Event *next_event();
   virtual void activate_autoplay();
   virtual void highlight_screen(Fresco::Coord, Fresco::Coord,





More information about the Fresco-changes mailing list