X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fclient.cc;h=2e78cb7672ff439db78dce1eb6f0f3a219b332dd;hb=cce970813f088952e05e20f13d77d6f4766863e3;hp=9e3cdae195cb2dac77f9476b5c2dbd7303226813;hpb=ccb58d37ee5539271c3595ed7b72a461434f428d;p=chaz%2Fopenbox diff --git a/src/client.cc b/src/client.cc index 9e3cdae1..2e78cb76 100644 --- a/src/client.cc +++ b/src/client.cc @@ -151,10 +151,15 @@ void Client::getDesktop() { // defaults to the current desktop _desktop = openbox->screen(_screen)->desktop(); + unsigned int d; if (otk::Property::get(_window, otk::Property::atoms.net_wm_desktop, otk::Property::atoms.cardinal, - (long unsigned*)&_desktop)) { + (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