From 6e639528cc6e26468bb89f96abf44d39e5eca93f Mon Sep 17 00:00:00 2001 From: Simon Lydell Date: Sat, 18 Jun 2016 12:59:01 +0200 Subject: [PATCH] Only rotate _visible_ hint markers Previously, if you pressed `` in Hints mode to rotate overlapping markers, after already having entered a few hint chars, it would sometimes look as if nothing happens. This was because _all_ markers where being rotated, even hidden ones. This commit only rotates _visible_ markers. --- extension/lib/marker-container.coffee | 5 ++--- extension/lib/marker.coffee | 5 +++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/extension/lib/marker-container.coffee b/extension/lib/marker-container.coffee index 3f0aac0..f3b297d 100644 --- a/extension/lib/marker-container.coffee +++ b/extension/lib/marker-container.coffee @@ -223,9 +223,8 @@ class MarkerContainer # (#1), and rotates their `z-index`:es (#2), thus alternating which markers are # visible. rotateOverlappingMarkers = (originalMarkers, forward) -> - # Shallow working copy. This is necessary since `markers` will be mutated and - # eventually empty. - markers = originalMarkers[..] + # `markers` will be mutated and eventually empty. + markers = originalMarkers.filter((marker) -> marker.visible) # (#1) stacks = (getStackFor(markers.pop(), markers) while markers.length > 0) diff --git a/extension/lib/marker.coffee b/extension/lib/marker.coffee index 6b51110..a97a2c4 100644 --- a/extension/lib/marker.coffee +++ b/extension/lib/marker.coffee @@ -35,6 +35,7 @@ class Marker @height = 0 @hint = '' @hintIndex = 0 + @visible = true @zoom = 1 @viewport = null @position = null @@ -47,8 +48,8 @@ class Marker show: -> @setVisibility(true) hide: -> @setVisibility(false) - setVisibility: (visible) -> - @markerElement.classList.toggle('marker--hidden', not visible) + setVisibility: (@visible) -> + @markerElement.classList.toggle('marker--hidden', not @visible) # To be called when the marker has been both assigned a hint and inserted # into the DOM, and thus gotten a width and height. -- 2.39.3