> On Dec. 8, 2011, 1:09 p.m., Lance Corrimal wrote:
> > I'm finding that in a viewer with the r2 version of this patch the mouse 
> > pointer flickers through at least three different states in rapid 
> > succeession when you hover it over your opened inventory and your inventory 
> > is still loading.
> > I'm pretty sure it didn't do that with the previous version.

on a viewer with the older patch the mouse pointer flickers too in this 
situation, but by far not as pronounced.


- Lance


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://codereview.secondlife.com/r/521/#review1116
-----------------------------------------------------------


On Dec. 5, 2011, 2:43 p.m., Ansariel Hiller wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://codereview.secondlife.com/r/521/
> -----------------------------------------------------------
> 
> (Updated Dec. 5, 2011, 2:43 p.m.)
> 
> 
> Review request for Viewer and Richard Nelson.
> 
> 
> Description
> -------
> 
> The fix for the flickering mouse cursor consists of 2 parts:
> 
> The first part changes LLView::childrenHandleHover() so that the cursor is 
> only set if the control itself is blocking the mouse event and not at every 
> hierarchy level in the control hierarchy. If the cursor would be set at each 
> level, it would cause a flicker in case the different controls set a 
> different cursor. This change actually resembles the algorithm used prior the 
> start of the flickering.
> 
> The second part changes LLToolTip::handleHover() and specifically handles 
> flickering of the cursor while hovering over the "i"-button of a hovertip. 
> The general call to LLPanel::handleHover() was changed to be only called if 
> the tooltip itself does not set the cursor itself. Logging the calls to 
> LLWindowWin32::setCursor() revealed that if the "i"-button on a hovertop is 
> hovered with the cursor said method is called twice with different cursors 
> alternatively. Checking the call stack further revealed that one call is 
> coming from LLToolTip::handleHover() and the other one from 
> LLButton::handleHover(). Latter gets invoked if LLPanel::handleHover() is 
> called. Since nothing is really done here except setting the cursor to 
> UI_CURSOR_ARROW only ti get then set to UI_CURSOR_HAND if 
> LLPanel::handleHover() returns, it doesn't make sense to do invoke that 
> method unless the cursor is not changed in the tooltip itself. So 
> LLPanel::handleHover() is only invoked if the tooltip does not set the cursor 
> itself, so that child controls should take care.
> 
> 
> This addresses bug STORM-1713.
>     http://jira.secondlife.com/browse/STORM-1713
> 
> 
> Diffs
> -----
> 
>   doc/contributions.txt a984f7ffeb4b 
>   indra/llwindow/llwindow.h a984f7ffeb4b 
>   indra/llwindow/llwindow.cpp a984f7ffeb4b 
>   indra/llwindow/llwindowheadless.h a984f7ffeb4b 
>   indra/llwindow/llwindowmacosx.h a984f7ffeb4b 
>   indra/llwindow/llwindowmacosx.cpp a984f7ffeb4b 
>   indra/llwindow/llwindowmesaheadless.h a984f7ffeb4b 
>   indra/llwindow/llwindowsdl.h a984f7ffeb4b 
>   indra/llwindow/llwindowsdl.cpp a984f7ffeb4b 
>   indra/llwindow/llwindowwin32.h a984f7ffeb4b 
>   indra/llwindow/llwindowwin32.cpp a984f7ffeb4b 
> 
> Diff: http://codereview.secondlife.com/r/521/diff/diff
> 
> 
> Testing
> -------
> 
> Testing was done by myself on Firestorm rev. 24073 
> (http://hg.phoenixviewer.com/phoenix-firestorm-lgpl/rev/bcc95de39ca9) on 
> Windows 7 and Lance Corrimal on Dolphin Viewer. Apparently the fix works 
> without any side-effects
> 
> 
> Thanks,
> 
> Ansariel Hiller
> 
>

_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges

Reply via email to