Hi All,
I tracked down an endless loop with FvwmIconMan caused by
*FvwmIconMan: *Action Select SendCommand FlipFocus
*FvwmEvent: new_page my_geom_record_all
my_geom_record_all has a "PipeRead "bash -c ' echo AddToFunc...'" in and
I think fvwm has recently started to grab the pointer with PipeRead.
The loop starts when you move the pointer to a button in FvwmIconMan. A
FlipFocus is performed which results in an M_NEW_PAGE -> FvwmEvent ->
my_geom_record_all -> PipeRead -> grab -> leave/eneter event to
FvwmIconMan -> FlipFocus.
I think it's the PipeRead but I'm not sure, anyway a sensible fix is to
not send an M_NEW_PAGE if the page hasn't changed and the attached patch
is very simple. Is there any reason to send M_NEW_PAGE when the page
doesn't change?
Cheers,
Tim.
Index: fvwm/virtual.c
===================================================================
RCS file: /u/phippst/share/cvsroot/fvwm/fvwm/virtual.c,v
retrieving revision 1.26
diff -u -r1.26 virtual.c
--- fvwm/virtual.c 2002/03/13 13:42:59 1.26
+++ fvwm/virtual.c 2002/03/15 13:52:19
@@ -991,11 +991,11 @@
}
Scr.Vx = newx;
Scr.Vy = newy;
- BroadcastPacket(
- M_NEW_PAGE, 5, Scr.Vx, Scr.Vy, Scr.CurrentDesk, Scr.VxMax, Scr.VyMax);
if (deltax || deltay)
{
+ BroadcastPacket(
+ M_NEW_PAGE, 5, Scr.Vx, Scr.Vy, Scr.CurrentDesk, Scr.VxMax, Scr.VyMax);
/*
* RBW - 11/13/1998 - new: chase the chain bidirectionally, all
at once!