gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash/gui sdl.cpp


From: Sandro Santilli
Subject: [Gnash-commit] gnash/gui sdl.cpp
Date: Mon, 21 Aug 2006 23:24:48 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  06/08/21 23:24:48

Modified files:
        gui            : sdl.cpp 

Log message:
        Reworked main loop to keep polling events until it's time for next 
iteration

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/gui/sdl.cpp?cvsroot=gnash&r1=1.15&r2=1.16

Patches:
Index: sdl.cpp
===================================================================
RCS file: /sources/gnash/gnash/gui/sdl.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- sdl.cpp     21 Aug 2006 22:56:15 -0000      1.15
+++ sdl.cpp     21 Aug 2006 23:24:48 -0000      1.16
@@ -110,18 +110,27 @@
 
     SDL_Event  event;
     while (true) {
+
       if (_timeout && SDL_GetTicks() >= _timeout) {
         break;
       }
+
+       Uint32 start_tick = SDL_GetTicks();
+
       if ( _func ) _func(this);
 
-      for (unsigned int i=0; i < _interval; i++) {
+       Uint32 time_left = SDL_GetTicks()-start_tick;
+
+       // Poll events until it's time for next movie advance
+       while ( (SDL_GetTicks()-start_tick) < _interval )
+       {
         if (SDL_PollEvent(&event) == 0)
                                {
-                                       break;
+                       continue;
                                }
 
-        switch (event.type) {
+               switch (event.type)
+               {
           case SDL_MOUSEMOTION:
             // SDL can generate MOUSEMOTION events even without mouse movement
             if (event.motion.x == x_old && event.motion.y == y_old) { break; }
@@ -164,8 +173,9 @@
             return true;
           break;
         }
-       SDL_Delay(_interval);
+
       }
+
     }
 
     return false;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]