]> Dogcows Code - chaz/openbox/blobdiff - otk/timerqueuemanager.cc
set the ustring's utf type so that it matches what it appended to it
[chaz/openbox] / otk / timerqueuemanager.cc
index a37fe94dbca4827e8ccff7aed72f4f090cea140e..e5f0a7418fdaba834165e48073e020b555bcde55 100644 (file)
@@ -9,27 +9,29 @@
 
 namespace otk {
 
-void OBTimerQueueManager::fire()
+void TimerQueueManager::fire(bool wait)
 {
   fd_set rfds;
   timeval now, tm, *timeout = (timeval *) 0;
 
-  const int xfd = ConnectionNumber(otk::OBDisplay::display);
+  const int xfd = ConnectionNumber(**display);
   
   FD_ZERO(&rfds);
   FD_SET(xfd, &rfds); // break on any x events
 
-  if (! timerList.empty()) {
-    const OBTimer* const timer = timerList.top();
-
-    gettimeofday(&now, 0);
-    tm = timer->remainingTime(now);
-
-    timeout = &tm;
+  if (wait) {
+    if (! timerList.empty()) {
+      const Timer* const timer = timerList.top();
+      
+      gettimeofday(&now, 0);
+      tm = timer->remainingTime(now);
+      
+      timeout = &tm;
+    }
+
+    select(xfd + 1, &rfds, 0, 0, timeout);
   }
 
-  select(xfd + 1, &rfds, 0, 0, timeout);
-
   // check for timer timeout
   gettimeofday(&now, 0);
 
@@ -38,7 +40,7 @@ void OBTimerQueueManager::fire()
   // timer->start() and timer->shouldFire() is within the timer's period
   // then the timer will keep firing.  This should be VERY near impossible.
   while (! timerList.empty()) {
-    OBTimer *timer = timerList.top();
+    Timer *timer = timerList.top();
     if (! timer->shouldFire(now))
       break;
 
@@ -51,13 +53,13 @@ void OBTimerQueueManager::fire()
 }
 
 
-void OBTimerQueueManager::addTimer(OBTimer *timer)
+void TimerQueueManager::addTimer(Timer *timer)
 {
   assert(timer);
   timerList.push(timer);
 }
 
-void OBTimerQueueManager::removeTimer(OBTimer* timer)
+void TimerQueueManager::removeTimer(Timer* timer)
 {
   assert(timer);
   timerList.release(timer);
This page took 0.02466 seconds and 4 git commands to generate.