diff --git a/HISTORY.md b/HISTORY.md index a05221a7..39464c25 100755 --- a/HISTORY.md +++ b/HISTORY.md @@ -89,6 +89,7 @@ ### 2019-06-03 * Threads: fixed #2249, predicates inside generic WHEN hats should be able to pass upvars * Blocks: fixed #1740 +* Blocks: fixed #670 and #1804 ### 2019-06-02 * Objects, Store: made "pen down?" and "shown?" attributes watchable onstage diff --git a/snap.html b/snap.html index 186b6dec..1fd74d92 100755 --- a/snap.html +++ b/snap.html @@ -6,7 +6,7 @@ - + diff --git a/src/blocks.js b/src/blocks.js index b0491eae..0b3c7358 100644 --- a/src/blocks.js +++ b/src/blocks.js @@ -12447,7 +12447,23 @@ CommentMorph.prototype.userMenu = function () { menu.addItem( "duplicate", function () { - myself.fullCopy().pickUp(myself.world()); + var dup = myself.fullCopy(), + ide = myself.parentThatIsA(IDE_Morph), + blockEditor = myself.parentThatIsA(BlockEditorMorph), + world = myself.world(); + dup.pickUp(world); + // register the drop-origin, so the comment can + // slide back to its former situation if dropped + // somewhere where it gets rejected + if (!ide && blockEditor) { + ide = blockEditor.target.parentThatIsA(IDE_Morph); + } + if (ide) { + world.hand.grabOrigin = { + origin: ide.palette, + position: ide.palette.center() + }; + } }, 'make a copy\nand pick it up' );