diff --git a/mozilla/camino/src/bookmarks/BookmarksService.mm b/mozilla/camino/src/bookmarks/BookmarksService.mm index 8d145605e05..9423119ed6f 100644 --- a/mozilla/camino/src/bookmarks/BookmarksService.mm +++ b/mozilla/camino/src/bookmarks/BookmarksService.mm @@ -1353,7 +1353,11 @@ BookmarksService::PerformBookmarkDrop(BookmarkItem* parent, BookmarkItem* before // remove it from the tree if (draggedNode != proposedParent) // paranoia. This should never happen { - if (doCopy) + nsCOMPtr tagName; + draggedNode->GetTag(*getter_AddRefs(tagName)); + bool srcIsFolder = (tagName == BookmarksService::gFolderAtom); + + if (doCopy && !srcIsFolder) { // need to clone nsCOMPtr srcElement = do_QueryInterface(draggedNode); diff --git a/mozilla/chimera/src/bookmarks/BookmarksService.mm b/mozilla/chimera/src/bookmarks/BookmarksService.mm index 8d145605e05..9423119ed6f 100644 --- a/mozilla/chimera/src/bookmarks/BookmarksService.mm +++ b/mozilla/chimera/src/bookmarks/BookmarksService.mm @@ -1353,7 +1353,11 @@ BookmarksService::PerformBookmarkDrop(BookmarkItem* parent, BookmarkItem* before // remove it from the tree if (draggedNode != proposedParent) // paranoia. This should never happen { - if (doCopy) + nsCOMPtr tagName; + draggedNode->GetTag(*getter_AddRefs(tagName)); + bool srcIsFolder = (tagName == BookmarksService::gFolderAtom); + + if (doCopy && !srcIsFolder) { // need to clone nsCOMPtr srcElement = do_QueryInterface(draggedNode);