incubator-ooo-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [Bug 121164] AnimatedImages : StepTime is ignored
Date Fri, 05 Oct 2012 10:46:08 GMT

--- Comment #3 from Ariel Constenla-Haile <> ---
It turns out that the control peer actually calls the respective VCL class
(Throbber) to change the step time:


    sal_Int32 nStepTime( 0 );
    if ( i_value >>= nStepTime )
         pThrobber->setStepTime( nStepTime );

Unfortunately, Throbber::setStepTime() simply stores that value in a member

void  setStepTime( sal_Int32 nStepTime )  { mnStepTime = nStepTime; }

that member variable is never used to actually set the AutoTimer timeout: the
timeout is only set on the Throbber constructor, where the timeout value is set
to a default value of 100:

Throbber::Throbber( Window* i_parentWindow, WinBits i_style, const ImageSet
i_imageSet )
    :ImageControl( i_parentWindow, i_style )
    ,mbRepeat( sal_True )
    ,mnStepTime( 100 )
    ,mnCurStep( 0 )
    ,mnStepCount( 0 )
    ,meImageSet( i_imageSet )
    maWaitTimer.SetTimeout( mnStepTime );
    maWaitTimer.SetTimeoutHdl( LINK( this, Throbber, TimeOutHdl ) );

    SetScaleMode( ImageScaleMode::None );

Possible solutions:

a) make Throbber::setStepTime() update the AutoTimer's timeout, but what if the
Throbber is running (== the timer is active)?
b) reset the AutoTimer's timeout in Throbber::start(), that is, when the
animation is started; this will have the effect that setting the step time
while the animation is running will only take effect after it restarts
c) ....

You are receiving this mail because:
You are the assignee for the bug.

View raw message