Subject: Pager out of sync with stacking order

From: [email-masked]
Date: Tue, 28 Sep 1999 07:06:43 -0500 (CDT)

Full_Name: Allan Black
Version: 2.3.8
CVS_Date: 
OS: Solaris 7 (sparc)
X_Server: Xsun
Submission from: (NULL) (194.247.80.193)

Version 2.3.7 and 2.3.8 of fvwm introduced a bug where the pager can get
out of sync with the window stacking order.
I've found the code which introduced the bug, but I can't figure out what
the new code is supposed to do.

To reproduce, use a keyboard shortcut to change the stacking order of
windows, e.g. this way:

Key L5          A       A       RaiseLower
Key F5          A       M       RaiseLower

It's also best if you use ClickToFocus.

Then use L5 (on a Sun) or ALT-F5 to switch the currently focused window
between the top and bottom of the window stack. The pager normally updates
correctly the first time, but subsequently fails to update.

I believe the WM is failing to broadcast the event to the pager.

In fvwm/stack.c:inner_RaiseOrLowerWindow(), the following code:

  if (do_move_transients)
    /* send out M_RESTACK for all windows, to make sure we don't forget
     * anything. */
    BroadcastRestack (Scr.FvwmRoot.stack_next, Scr.FvwmRoot.stack_prev);
  else
    /* send out (one or more) M_RESTACK packets for windows between r and s
*/
    BroadcastRestack (r, s);

has replaced the one-liner from V2.3.6, in
fvwm/stack.c:RaiseOrLowerWindow():
  /* send out (one or more) M_RESTACK packets for windows between r and s
*/
  BroadcastRestack (r, s);

I have changed stack.c and commented out the new code, so it looks like
this:

  /*if (do_move_transients)*/
    /* send out M_RESTACK for all windows, to make sure we don't forget
     * anything. */
    /*BroadcastRestack (Scr.FvwmRoot.stack_next,
Scr.FvwmRoot.stack_prev);*/
  /*else*/
    /* send out (one or more) M_RESTACK packets for windows between r and s
*/
    BroadcastRestack (r, s);

Recompiled fvwm and the pager started working fine again. However I don't
know what the effect will be of commenting out the above code. I've
probably broken something I don't use :-)

--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Dominik Vogt <[email-masked]>
Date: Tue, 28 Sep 1999 17:41:40 +0200

> probably broken something I don't use :-)

Fixed.

Bye

Dominik ^_^

-- 
Dominik Vogt, Hewlett-Packard GmbH, Dept. BVS
Herrenberger Str.130, 71034 Boeblingen, Germany
phone: 07031/14-4596, fax: 07031/14-3883, [email-masked]
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]