[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]

Reply via email to