chiark / gitweb /
emcc frontend: stop indiscriminately squashing mouseups.
authorSimon Tatham <anakin@pobox.com>
Fri, 14 Aug 2015 18:42:42 +0000 (19:42 +0100)
committerSimon Tatham <anakin@pobox.com>
Fri, 14 Aug 2015 18:42:42 +0000 (19:42 +0100)
The mouseup listener was calling event.preventDefault(), as part of
the mechanism for making mouse clicks and drags on the puzzle's resize
handle have resizing effects _instead_ of the normal browser
behaviour. However, calling event.preventDefault() on _every_ mouseup,
rather than just the ones associated with the resize handle, was
overkill, and I've recently noticed that it's breaking attempts to
select from the game type dropdown by clicking the mouse. So now I'm
only calling preventDefault() on the mouseups that I have reason to
think are actually relevant to what I'm trying to do.

(I don't know why I've only just noticed this. I suppose a change of
behaviour between Firefox versions is the most likely cause.)

emccpre.js

index fef83c1e2832c7213fe7c6f4c7874ba519363a45..ebf67d1fc636204a835e08a07c3146c9cbb8d2be 100644 (file)
@@ -333,6 +333,7 @@ function initPuzzle() {
             resize_xbase = null;
             resize_ybase = null;
             onscreen_canvas.focus(); // return focus to the puzzle
+            event.preventDefault();
         } else if (restore_pending) {
             // If you have the puzzle at larger than normal size and
             // then right-click to restore, I haven't found any way to
@@ -345,8 +346,8 @@ function initPuzzle() {
                 restore_puzzle_size();
                 onscreen_canvas.focus();
             }, 20);
+            event.preventDefault();
         }
-        event.preventDefault();
     });
 
     // Run the C setup function, passing argv[1] as the fragment