OK, I’m still doing whiteboarding over a network.  I’ve run into some kind of issue with waiting for the GVT tree.  I’ve been calling invokeAndWait() to ensure one thread is finished before the next thread starts.  All my threads that update the document are called in the RunnableQueue.  However, some of these commands cause the document to be changed.  If you create a new whiteboard or switch pages of a whiteboard, a new SVGDocument is put in place.  Within the thread that causes the change, I try to wait for the GVT tree to finish rendering, but the GVT won’t render until the current thread (also in the RunnableQueue) finished.

 

Is this correct?  Basically I have a timeout while waiting for the tree to render and after the wait is over, the tree renders.  I think it’s backed up behind my thread in the RunnableQueue.  Can I safely use invokeLater and guarantee that my threads start AND finish, one after the other?  Can I “force” the GVT tree to render inside my own thread instead of waiting for it?  How can I work around this issue?

 

Michael Bishop

Reply via email to