Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!amdahl!nsc!voder!apple!tecot
From: tecot@Apple.COM (Ed Tecot)
Newsgroups: comp.sys.mac.programmer
Subject: Re: Bug in System 6.0, or is it ME?
Message-ID: <13112@apple.Apple.COM>
Date: 30 Jun 88 20:56:23 GMT
References: <1988Jun22.110349.325@mntgfx.mentor.com>
Reply-To: tecot@apple.apple.com.UUCP (Ed Tecot)
Organization: Apple Computer Inc, Cupertino, CA
Lines: 26

In article <1988Jun22.110349.325@mntgfx.mentor.com> tomc@mntgfx.mentor.com (Tom Carstensen) writes:
>I've been using MacNosy alot to do debugging, and every
>once in a while I set the Trap Checksum/Disipline on
>to more thoroughly check my program.
>
>Every since I started using System 6.0, the debugger always
>breaks when exiting a Dialog (ie GetNewDialog - ModalDialog -
>CloseDialog).  It complains on the entry to TEDispose, ( I
>believe its disposing of its TERecord it used for the dialog) and
>I look at the TERec, and it looks like it's trying to dispose
>of something that already been disposed of (There are FFFD
>in a lot of the field, with the debugger puts there after
>a DisposHdl() & DisposPtr().  If I tell the debugger to 
>continue on, It breaks at DisposHdl, and the hdl is a
>bad ptr (bogus).  This is also preventing me from checking
>the rest of my program, since it can never get past this point.

This is a problem with MacNosy discipline.  I spoke with Steve Jasik about it
a few weeks ago.  The problem is that MacNosy's setting the pointer to FFFD
fools the dialog manager into thinking it hasn't yet disposed it.  The code
is something like:

	if (hTE != NIL) TEDispose(hTE);

I recommend not using MacNosy discipline until Steve fixes this.

						_emt