Enrico Sersale <[EMAIL PROTECTED]> 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
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.
However, if not. Do you have any idea what the last
CVS version of GNUstep is that does not have these
problems?
Wim Oudshoonr.
_______________________________________________
Bug-gnustep mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-gnustep