xmlgraphics-batik-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas DeWeese <Thomas.DeWe...@Kodak.com>
Subject Re: JSVGComponent dynamic DOM update, invokeAndWait threading issue
Date Wed, 01 Oct 2003 09:38:53 GMT
Hi Denis.

    It looks to me like you need to shut down your
SVGStage.AnimationTimer before you 'unload' the current
document (or load a new document). Since this class appears
to be 'outside' of Batik there is no way for us to shut it
down for you.

    If it is really on a Java Timer I believe you can cancel
them.

Denis Bohm wrote:

> I'm having a problem reloading a document.  The first time I try to reload I
> just get a blank page, on the second try to reload it seems to work.  But
> sometimes on the second reload I get:
> 
> java.lang.IllegalStateException: RunnableQueue not started or has exited
>         at
> org.apache.batik.util.RunnableQueue.invokeAndWait(RunnableQueue.java:257)
>         at
> com.fireflydesign.svg.SVGStage$AnimationTimer.run(SVGStage.java:639)
> 
> and things don't function anymore.
> 
> I assume that I need to shut somethings down before changing the document?
> Is that what you are referring to when you say "don't load new SVG documents
> until pending DOM updates"?
> 
> Thanks,
>   Denis
> 
> ----- Original Message ----- 
> From: "George Armhold" <armhold@cs.rutgers.edu>
> To: "Batik Users" <batik-users@xml.apache.org>
> Sent: Monday, September 29, 2003 12:29 PM
> Subject: Re: JSVGComponent dynamic DOM update, invokeAndWait threading issue
> 
> 
> 
>>Sorry for the late reply to this thread; I was travelling when your
>>reply came in.
>>
>>Thomas DeWeese wrote:
>>
>> >> So now my question is: how can I know when it's safe to call
>> >>    UpdateManager um = getUpdateManager();
>> >>    RunnableQueue rq = um.getUpdateRunnableQueue();
>> >>
>> >> and add things to the RunnableQueue?
>> >
>> >
>> >   It is safe after the first GVT rendering completes.  This is
>> > _before_ the managerStarted call back, so this shouldn't be the
>> > problem.  You should have enough instrumentation in your code now to
>> > figure out what the sequence of events is that leads to the Null
>> > UpdateManager is.
>>
>>Indeed, thanks to your help.  It seems there were two key issues in my
>>code:
>>
>>- make sure sure UpdateManager is available (wait until
>>   gvtRenderingCompleted event) before starting DOM updates.
>>
>>- don't load new SVG documents until pending DOM updates
>>   (UpdateManager's RunnableQueue) to the currently loaded doc have
>>   completed.
>>
>>
>>Although I need to complete more testing, I have not seen any more
>>crashes since applying these two fixes.  Thanks!
>>
>>
>>--
>>George Armhold
>>Rutgers University
>>eLearning Grant, DCIS
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
>>For additional commands, e-mail: batik-users-help@xml.apache.org
>>
>>
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
> For additional commands, e-mail: batik-users-help@xml.apache.org
> 
> 




---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-users-help@xml.apache.org


Mime
View raw message