   onMouseLeave: (ev) ->     
     return if fetch(namespaced_key('slider', @props.proposal)).is_moving
 
-    opinion_views = fetch 'opinion_views'
-    active = opinion_views.active_views
-    originating_histogram = (active.single_opinion_selected or active.region_selected)?.created_by == @props.histo_key
-
     @local.mouse_opinion_value = null    
     save @local
 
-    # return if originating_histogram
-
+    opinion_views = fetch 'opinion_views'
+    if opinion_views.active_views.region_selected
+      clear_histogram_managed_opinion_views opinion_views
 
 
 


    histocache = @getAvatarPositions()?.positions or {}

    @skip_frame = false 
    if SKIP_FRAMES
      skippable = 0 
      tot = 0
      opacity_updated = false 
      for key, __ of histocache
        sprite = @sprites[key]
        updating_opacity = sprite.target_opacity != sprite.from_opacity || sprite.opacity != 1

        if updating_opacity
          opacity_updated = true
          break

        if (sprite.last_render_x && Math.abs(sprite.x - sprite.last_render_x) < SKIP_FRAMES) &&
           (sprite.last_render_y && Math.abs(sprite.y - sprite.last_render_y) < SKIP_FRAMES) &&
           (sprite.last_render_size && Math.abs(sprite.width - sprite.last_render_size) < SKIP_FRAMES)
          skippable += 1
        tot += 1

      @skip_frame = !opacity_updated && skippable / tot > .5


    if !@skip_frame



      for key, __ of histocache
        sprite = @sprites[key]
        continue if !sprite
        updating_opacity = sprite.target_opacity != sprite.from_opacity || sprite.opacity != 1
        if updating_opacity
          @buff_ctx.save()
