[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: XGDragView bug
From: |
Enrico Sersale |
Subject: |
Re: XGDragView bug |
Date: |
Sun, 20 Jan 2002 18:38:26 +0200 (EET) |
On Sun, 20 Jan 2002, Enrico Sersale wrote:
>
> On 20 Jan 2002, Willem Rein Oudshoorn wrote:
>
> > Enrico Sersale <enrico@www.imago.ro> writes:
> > ...
> >
> > A - the DnD code references an deallocated object.
> > B - the deallocated object is a FinderShelfIcon
> > C - the FinderShelfIcon is deallocated when you start
> > dragging in step 3
> ...
> >
> > D - the dealloc is triggered by the following method
> > -[ShelfIcon declareAndSetShapeOnPasteboard:]
> > especially the following line:
> > [pb declareTypes: owner:]
> > This registers a new object on the PasteBoard server
> > and this triggers the release of object that was
> > stored in step 1.
> >
> > So basically, the Icon dragged in step 1 is kept alive
> > until the second drag because it is still retained by
> > the NSPasteBoard.
Due of the the fact that I provide all the data for the pasteboard in the
same method where i call -(int)declareTypes:(NSArray *)newTypes
owner:(id)newOwner, now I've set newOwner to be nil.
Now, the icon is released (I can verify this with a NSLog() in dealloc).
But, the problem remains and the gdb trace is identical !
I'm seeing for myself that this is a pasteboard problem...
I've also changed in the sources all the little things that, perhaps,
could contribute at the problem, but these weren't many...
This version is at: http://www.imago.ro/gworkspace/gworkspace-test.tar.gz
Please, get it; so we can discuss on the same basis.
> ...