Subject: Re: FvwmPager debug results

From: Dominik Vogt <[email-masked]>
Date: Wed, 15 Sep 1999 23:55:01 +0200

On Fri, Sep 10, 1999 at 01:18:40PM +0100, Neil Bird wrote:
> Dominik Vogt wrote:
> >   fprintf(stderr,"IS_ICONIFIED = %d\n", IS_ICONIFIED(t));
> > 
> > And send me the output again. (Of course only if the problem
> > isn't already fixed).
> 
>   Nope, not fixed. Here's the debug (inc. the previous debug) from the
> latest CVS :
> 
>   <Hmm. If I run it up with my windows as they are arranged ATM, it [FP]
> comes up with debug output, but no window! I have to lower the window that
> would be partially obscuring it if FP came up on the bottom layer. IYSWIM
> - as soon as I lower this compose window, FP appears!>
> 
> 
> Start dtcm:
> configure window: 0x5400039
> add window: 0x5400039
> IS_ICONIFIED = 0
> configure window: 0x5400039
> IS_ICONIFIED = 0
> iconify: 0x5400039
> configure window: 0x5400039
> IS_ICONIFIED = 1
> iconify: 0x5400039                 <--
> configure window: 0x5400039        <--
> IS_ICONIFIED = 0                   <-- !!! wrong
> 
> <out of sync>

Okay, finally I found the bug. When an applications was started
iconified and provided its own icon, fvwm would send an iconify
packet, delete the internal flag indication the window is iconified,
broadcast the new configuration with the now deleted flag and then
set the flag again. This is exactly what you see in the last three
lines of the debug output above. Neil, please try the lastest
CVS code. You mentioned something about pager getting mapped
lowered, if this problem persists, please start a new discussion
thread about it.

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]

---

From: Neil Bird <[email-masked]>
Date: Thu, 16 Sep 1999 09:32:36 +0100

Dominik Vogt wrote:
> CVS code

  Have done; sorry, but it still happens :-(  Oddly, the representation of
dtcm inside FvwmPager now appears on or near the bottom of the window
stack instead of the top!?  With the debug added to the latest CVS:

Start dtcm:

[not window, FP shows it open]

Deiconify:
deiconify: 0x5400039

[FP now brings it's map of the window to the front]

Iconify:
configure window: 0x5400039
IS_ICONIFIED = 0
iconify: 0x5400039
configure window: 0x5400039
IS_ICONIFIED = 1
configure window: 0x2c00003
IS_ICONIFIED = 1

[back in sync]

> You mentioned something about pager getting mapped

  I've not seen this beyond that once - I think we can quietly forget
about it!

-- 
=====================- http://www.racaldefence.com/ -===================
 Neil Bird                   |   This is who we are     The time is near
                             |
 mailto:[email-masked] |        There are 107 days remaining
--
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: Thu, 16 Sep 1999 13:13:11 +0200

> configure window: 0x5400039
 
Are you 100% sure that you got the right code and recompiled and
installed fvwm properly? I can't believe it. The bug was *so*
obvious when you know where to look. The fix was not in FvwmPager
but in fvwm itself (events.c). Can you double check that you are
really using the correct code?

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]

---

From: Neil Bird <[email-masked]>
Date: Thu, 16 Sep 1999 12:48:40 +0100

> really using the correct code?

  Oops :-(

  Sorry, I'd assumed that the fix was in FvwmPager.c (I noticed it had
been updated today)!

  OK, assume for now it's OK - I'll actually test it out in a new snapshot
when they're working again.

---

From: Dominik Vogt <[email-masked]>
Date: Thu, 16 Sep 1999 14:46:14 +0200

> when they're working again.

In events.c, line 713, replace the lines from

          if(IS_ICONIFIED(Tmp_win))

to

              BroadcastConfig(M_CONFIGURE_WINDOW, Tmp_win);

with

          if(IS_ICONIFIED(Tmp_win))
            {
              SET_ICONIFIED(Tmp_win, 0);
              SET_ICON_UNMAPPED(Tmp_win, 0);
              CreateIconWindow(Tmp_win,
                               Tmp_win->icon_x_loc,Tmp_win->icon_y_loc);
              BroadcastPacket(M_ICONIFY, 7,
                              Tmp_win->w, Tmp_win->frame,
                              (unsigned long)Tmp_win,
                              Tmp_win->icon_x_loc, Tmp_win->icon_y_loc,
                              Tmp_win->icon_w_width, Tmp_win->icon_w_height);
              /* domivogt (15-Sep-1999): BroadcastConfig informs modules of the
               * configuration change including the iconified flag. So this
               * flag must be set here. I'm not sure if the two calls of the
               * SET_ICONIFIED macro after BroadcastConfig are necessary, but
               * since it's only minimal overhead I prefer to be on the safe
               * side. */
              SET_ICONIFIED(Tmp_win, 1);
              BroadcastConfig(M_CONFIGURE_WINDOW, Tmp_win);
              SET_ICONIFIED(Tmp_win, 0);

(the new parts are the two SET_ICONIFIED macros at the end of this block.).

Bye

Dominik ^_^

---

From: Neil Bird <[email-masked]>
Date: Thu, 16 Sep 1999 14:35:36 +0100

Dominik Vogt wrote:
> [snip]

  Yup, that's the kiddy. Thanks!