SetHotSpotRange is not called when mouse exits HotSpotRange outside of client or to margin. The patch simply adds a SetHotSpotRange(NULL) call for both cases. Since SetHotSpotRange does a check prior to doing any clearing of the hotspot no additional checks have been added.
To see an example of this bug a few pics can be viewed in the first post of this thread::
http://nppcommunity.lighthouseapp.com/projects/38932/tickets/16-bug-sticky-hotspot-style
Thanks! And have a great day.
git generated patch
The patch doesn't really line up with current CVS so I have to
guess where the chunks are applied. The first chunk drops the hot spot
when the mouse moves over the margin. This is OK.
The second patch appears to change the hot spot in the WM_SETCURSOR
handler. The only thing that should happen in WM_SETCURSOR is setting
the cursor. This functionality belongs in ButtonMove so that it is
cross-platform with possibly a TrackMouseEvent/WM_MOUSELEAVE or Tick
handler to detect movement outside the window.
git generated patch v2
Fix committed to CVS. This makes use of the Windows TrackMouseEvent function.