diff options
| -rw-r--r-- | src/client.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/client.cc b/src/client.cc index e991639b..2e78cb76 100644 --- a/src/client.cc +++ b/src/client.cc @@ -155,9 +155,11 @@ void Client::getDesktop() if (otk::Property::get(_window, otk::Property::atoms.net_wm_desktop, otk::Property::atoms.cardinal, - (long unsigned*)&d) && - d < openbox->screen(_screen)->numDesktops()) { - _desktop = d; + (long unsigned*)&d)) { + if (d >= openbox->screen(_screen)->numDesktops() && + d != 0xffffffff) + d = openbox->screen(_screen)->numDesktops() - 1; + _desktop = d; #ifdef DEBUG // printf("Window requested desktop: %ld\n", _desktop); #endif |
