Subject: FVWM: BadMatch error of FvwmPager

From: Nobutaka Suzuki <[email-masked]>
Date: Thu, 18 Apr 1996 19:14:25 +0900

As someone has mentioned in this list, FvwmPager dies when moving
a window on a non-current desk to the current desk, due to
BadMatch error resulted from XSetInputFocus() (at l. 1444,
x_pager.c). It seems that the problem occurs because of "delayed"
execution of WindowDesk function which is called by SendInfo()
(l. 1417, x_pager.c); that is, if WindowDesk is not done by fvwm
when the XSetInputFocus() is called, the XSetInputFocus() tries
to set focus on un-viewable window.

I'm sorry I don't know a good solution to the problem, but a
compromise would be just commenting the XSetInputFocus() out,
unless people are eager to set focus on the moved window...
----
Nobutaka Suzuki <[email-masked]> 
 Graduate School of Information Science
 Nara Institute of Science and Technology

--- x_pager.c.orig	Mon Mar 25 02:33:47 1996
+++ x_pager.c	Thu Apr 18 18:34:19 1996
@@ -1435,6 +1435,7 @@
 	    MoveResizePagerView(t);
 	  SendInfo(fd,"Raise",t->w);
 	}
+      /***
       if(Scr.CurrentDesk == t->desk)
 	{
 	  if(t->flags & ICONIFIED)
@@ -1442,6 +1443,7 @@
 	  else
 	    XSetInputFocus (dpy, t->w, RevertToParent, Event->xbutton.time);
 	}
+      ***/
     }
 }