X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=util%2Fepist%2Fscreen.cc;h=8163107391de84ea015d1bbf3597096054342b20;hb=551a17d2563679eb6ef7c650f1384ee7e48dbc29;hp=eb9edc39fd93fcbbaad9e1e508761d04c322fd9f;hpb=2241f5c8eaa932d458791dc559f420b9dd58fef4;p=chaz%2Fopenbox diff --git a/util/epist/screen.cc b/util/epist/screen.cc index eb9edc39..81631073 100644 --- a/util/epist/screen.cc +++ b/util/epist/screen.cc @@ -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;