$NetBSD: patch-ag,v 1.1 2006/01/02 22:05:38 joerg Exp $

--- util/epist/screen.cc.orig	2006-01-02 21:58:13.000000000 +0000
+++ util/epist/screen.cc
@@ -435,19 +435,27 @@ void screen::updateEverything() {
 void screen::updateNumDesktops() {
   assert(_managed);
 
+  unsigned long tmp_num_desktops = _num_desktops;
+
   if (! _xatom->getValue(_root, XAtom::net_number_of_desktops, XAtom::cardinal,
-                         (unsigned long)_num_desktops))
+                         tmp_num_desktops))
     _num_desktops = 1;  // assume that there is at least 1 desktop!
+  else
+    _num_desktops = tmp_num_desktops;
 }
 
 
 void screen::updateActiveDesktop() {
   assert(_managed);
 
+  unsigned long tmp_active_desktop = _active_desktop;
+
   if (! _xatom->getValue(_root, XAtom::net_current_desktop, XAtom::cardinal,
-                         (unsigned long)_active_desktop))
+                         tmp_active_desktop))
     _active_desktop = 0;  // there must be at least one desktop, and it must
                           // be the current one
+  else
+    _active_desktop = tmp_active_desktop;
 }
 
 
