Subject: Re: Notification: incoming/287

From: Dominik Vogt <[email-masked]>
Date: Sat, 3 Apr 1999 18:38:25 +0200

On Wed, Mar 31, 1999 at 08:01:00AM -0500, Dan Espen wrote:
> > 
> > With current CVS source (30-Mar-1999), fvwm fails
> > to start up properly if .fvwm2rc contains a 'Module'
> > command. I tried this with FvwmWinList, FvwmTaskBar
> > and FvwmButtons. With WinList no windows
> > were mapped at all but some of my bindings worked
> > (no menus but page flipping with function keys as
> > well as the transient pager on mb2). With the
> > Taskbar only the taskbar window appeared. Is that
> > related to the new startup logic (Tim, Dan)?
> > 
> 
> Sounds like it, the new startup logic made it necessary for
> me to move FvwmAnimate into the InitFunction instead of just
> starting it.

The bug is in events.c (My_XNextEvent):

     /* check for termination of all startup modules */
     if (fFvwmInStartup) {
       for(i=0;i<npipes;i++)
         if (FD_ISSET(i, &init_fdset))
           break;
-->    if (i == npipes) {
         DBUG("My_XNextEvent", "Starting up after command lines modules\n");
         StartupStuff();
         timeoutP = NULL; /* set an infinite timeout to stop ticking */
       }
     }

I don't know exactly what this is supposed to do, but startup
is only completed when the if-condition is true. Which is the
case if FD_ISSER returns zero for npipes pipes. Since npipes
is a constant (256 on my system), the conition will be fulfilled
only if you started 256 modules. What the author probably had
in mind was the number of modules actually started, not the
maximum number of allowed modules (== npipes). Tim, is that
part of your changes? Do you know how to repair this? I don't
dare to try it myself since I do not much about modules.

Bye

Dominik ^_^

--
Dominik Vogt, [email-masked]
Reply-To: [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]