summaryrefslogtreecommitdiff
path: root/src/client.cc
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-02-19 09:33:30 +0000
committerDana Jansens <danakj@orodu.net>2003-02-19 09:33:30 +0000
commitfb1c1a81632bcf79be2808373941700b51a1d8ee (patch)
tree916f71892440328459b638207b2f28f5ce76ab8d /src/client.cc
parentc29a1f1430ef47db469c83d2cbca93a17e8bb83f (diff)
only map on a requested desktop if its not out of range
Diffstat (limited to 'src/client.cc')
-rw-r--r--src/client.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/client.cc b/src/client.cc
index 9e3cdae1..e991639b 100644
--- a/src/client.cc
+++ b/src/client.cc
@@ -151,10 +151,13 @@ 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) &&
+ d < openbox->screen(_screen)->numDesktops()) {
+ _desktop = d;
#ifdef DEBUG
// printf("Window requested desktop: %ld\n", _desktop);
#endif