diff --git a/camino/src/bookmarks/BookmarkButton.mm b/camino/src/bookmarks/BookmarkButton.mm index 8966e97afd2..14bc0bccf94 100644 --- a/camino/src/bookmarks/BookmarkButton.mm +++ b/camino/src/bookmarks/BookmarkButton.mm @@ -287,6 +287,11 @@ // kCaminoBookmarkListPBoardType NSArray *pointerArray = [BookmarkManager serializableArrayWithBookmarkItems:[NSArray arrayWithObject:item]]; [pboard setPropertyList:pointerArray forType: kCaminoBookmarkListPBoardType]; + + // If the drag results in the bookmark button being (re)moved, it could get + // deallocated too soon. This occurs with SDK >= 10.3, but not earlier. + // Change in cleanup strategy? Hold on tight. + [[self retain] autorelease]; [self dragImage: [MainController createImageForDragging:[self image] title:title] at: NSMakePoint(0,NSHeight([self bounds])) offset: NSMakeSize(0,0) event: aEvent pasteboard: pboard source: self slideBack: YES];