[EMAIL PROTECTED] wrote:
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?
Yes. It's necessary to force a M_NEW_PAGE packet when the desk
changes but the viewport does not move. Some of the modules need
the message in this case. I can't remember which modules.
I had a trawl through the recent module code and found the following
uses of M_NEW_PAGE and M_NEW_DESK:
FvwmAnimate: just stashes the desk and page numbers, it deals with
M_NEW_DESK in the same way so doesn't need the redundant M_NEW_PAGE. The
strange thing is that FvwmAnimate doesn't ask for M_NEW_PAGE or
M_NEW_DESK in the message mask???
FvwmBacker: stashes the new page and desk and then calls the same
function as it does when M_NEW_DESK arrives. This looks like it's OK.
FvwmButtons: only processes M_NEW_PAGE in an #ifdef DEBUG_FVWM section
to print out the message contents. It's OK
FvwmCommand: uses the message to print out the new page. It's OK unless
someone has a script built on this that doesn't handle the M_NEW_DESK
output.
FvwmDebug: just prints out the new page/desk. It's OK.
FvwmIconMan: already has code in it to avoid processing redundant
M_NEW_PAGE messages so it's OK and that bit of code could be stripped
out (grep for "Useless NEW_PAGE received\n").
FvwmPager: handles both M_NEW_PAGE and M_NEW_DESK with the same function
for desk changes so it's OK.
FvwmSave: doesn't understand desks so it's OK.
FvwmSaveDesk: doesn't parse the desk field of M_NEW_PAGE so it's broken
already, it relies on M_NEW_DESK for the current desk.
FvwmTaskBar: doesn't ask for and ignores M_NEW_PAGE messages so it's OK.
So unless someone has a buggy FvwmCommand based script to do stuff on
desk/page changes the patch won't affect anything.
Cheers,
Tim.
--
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 PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]