Subject: CVS domivogt: * Cleaned up AddBinding().

From: CVS <[email-masked]>
Date: Sat, 7 Oct 2000 22:03:05 -0500 (CDT)

CVSROOT:	/home/cvs/fvwm
Module name:	fvwm
Changes by:	domivogt	00/10/07 22:03:04

Modified files:
	.              : ChangeLog 
	fvwm           : events.c fvwm2.1 
	libs           : Bindings.c defaults.h 
	modules        : ChangeLog 
	modules/FvwmPager: FvwmPager.c x_pager.c 

Log message:
* Cleaned up AddBinding().
* Moved some constants from pager to defaults.h.
* Slightly improved mini windows in pager.
* Added a warning to the man page about the PointerKey command.

--
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: Dan Espen <[email-masked]>
Date: Sat, 07 Oct 2000 23:13:55 -0400

> * Added a warning to the man page about the PointerKey command.

Oops, I was afraid of that.  I missed this change in this last run.

This file was produced using the themes beta:

--
Dan Espen
444 Hoes Lane  Room RRC 1C-214           E-mail: [email-masked]
Piscataway, NJ 08854                     Phone: (732) 699-5570

---

From: Dominik Vogt <[email-masked]>
Date: Wed, 11 Oct 2000 14:54:03 +0200

Almost all UMRs in the last Purify log come from the
boundary_width member of the FvwmWindow structure.  Purify always
claims that only the first byte of the integer is initialised and
the remaining three bytes are not.  Example:

****  Purify instrumented fvwm2 (pid 1002)  ****
UMR: Uninitialized memory read:
  * This is occurring while in:
        SetupTitleBar  [borders.c:1104]
        SetupFrame     [borders.c:1546]
        ForceSetupFrame [borders.c:1689]
        apply_window_updates [update.c:206]
        flush_window_updates [update.c:346]
        HandleEvents   [events.c:2408]
        main           [fvwm.c:732]
        _start         [crt1.o]
  * Reading 4 bytes from 0xefffb068 on the stack (3 bytes at 0xefffb069 uninit).
  * Address 0xefffb068 is local variable "xwc" in function SetupTitleBar.

line 1104 in borders.c is this:

      if (xwc.x + xwc.width < w - tmp_win->boundary_width)

boundary_width is initialised from AddWindow() by calling
SelectDecor() which in turn initialises it 100% of the time. If
Probably the value comes from the style that has been read in
AddWindow() via lookup_style(). Again, there is no chance that
lookup_style() fails to initialise these values, which means
that ProcessNewStyle must have written trash into them. Since
the whole style is zeroed in ProcessNewStyle() first, the only
possibility of failure is the sscanf call that (successfully)
reads in the value (via GetSuffiedIntegerArguments()).

So, I see three possible explanations:

 1) Purify is broken
 2) sscanf on Dan's machine is broken
 3) I am missing something

Anybody out there who can shed a light on this?

BTW, I have rewritten some of the involved code, but nothing of
this fixed the UMR.

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]