[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 13:50:24 +0200 (EET) |
On 20 Jan 2002, Willem Rein Oudshoorn wrote:
> Enrico Sersale <enrico@www.imago.ro> writes:
>
> > The GWorkspace and CVS versions are the same.
> >
> > It happens if you start a drag and move the icon only a bit, remaining
> > into its bounds.
> >
> > At the next drag with an other icon, the app will crash.
>
> Ok, I am able to reproduce it, but for me it is not as simple
> as it seemed. I have to:
> 1 - Move icon A from Shelf to Finder
> 2 - Move icon A a little on the Finder shelf, so it disappears
> 3 - Repeat step 1
> 4 - Notice: CRASH as soon as the icon A enters the Finder.
>
> Also I spend some time debugging this. I have not nailed it yet,
> and it is not clear exactly which part is at fault. It can be:
>
> - GWorkspace
> - the pasteboard
> - the DnD code
>
> But let me describe what I have found so far.
>
> 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
Are you sure of this? This is *very* important. It should be deallocated
after step 2, when is removed from its superView...
(Here I've a little problem with my very poor English: what means exactly
to trigger?)
> 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.
>
> Now I hope that you can say: `Of course, ...'
> and it is a bug in the GWorkspacce.
If I've understand correctly "triggered" (but I don't know), It seems more
a pasteboard problem.
> However, if not. Do you have any idea what the last
> CVS version of GNUstep is that does not have these
> problems?
>
> Wim Oudshoonr.
I've downloaded just now core.20020110.tar.bz2 and the problem
already exist.