]> Dogcows Code - chaz/openbox/blobdiff - util/epist/screen.cc
Fix send to menu, having deleted workspaces in it.
[chaz/openbox] / util / epist / screen.cc
index eb9edc39fd93fcbbaad9e1e508761d04c322fd9f..8163107391de84ea015d1bbf3597096054342b20 100644 (file)
@@ -444,7 +444,8 @@ void screen::updateActiveWindow() {
     }
   }
   _active = it;
-  _last_active = it;
+  if (it != end)
+    _last_active = it;
 
   /*  cout << "Active window is now: ";
       if (_active == _clients.end()) cout << "None\n";
@@ -474,6 +475,7 @@ void screen::cycleWindow(const bool forward, const int increment,
                          const bool allscreens, const bool alldesktops,
                          const bool sameclass, const string &cn) const {
   assert(_managed);
+  assert(increment > 0);
 
   if (_clients.empty()) return;
 
@@ -485,7 +487,7 @@ void screen::cycleWindow(const bool forward, const int increment,
     begin = _clients.begin(),
     end = _clients.end();
 
-  const XWindow *t;
+  const XWindow *t = 0;
   
   for (int x = 0; x < increment; ++x) {
     while (1) {
@@ -530,8 +532,10 @@ void screen::cycleWindow(const bool forward, const int increment,
 }
 
 
-void screen::cycleWorkspace(const bool forward, const int increment, const bool loop) const {
+void screen::cycleWorkspace(const bool forward, const int increment,
+                            const bool loop) const {
   assert(_managed);
+  assert(increment > 0);
 
   unsigned int destination = _active_desktop;
 
This page took 0.019876 seconds and 4 git commands to generate.