Jean-Christophe ARNU (JX) wrote:

    It isn't clear to me if you are using Batik's normal behavior here or
    some custom code (Batik doesn't really have context menus).
>
        In fact I use an Interactor which only reacts to Right mouse button and some
keys interactions (filtered via startInteraction() method).

Ok wild shot in the dark. Do you use invokeAndWait on the update thread from the event listener thread?

      If you can give me more information on how your application works it
      might jog some memories.

Ok. Let's see : I use a class inherinting from JSVGCanvas (which only defines a method to get the bridge context of the canvas). I instanciate this class to the svgPanel object. I set it double buffered I add a GVTTreeBuildListener (which retrives the elements I need to get to perform interaction on left click (give information on the pointed object i.e. add click event listener to them.I add DOMListeners to the bridge context of the svgPanel object then I set it dynamic.) I set the document URI I set the document state to ALWAYS_DYNAMIC

Hmm, this should be too late. You should set ALWAYS_DYNAMIC up where you set it double buffered.

and finally I set the default interactors :

        svgPanel.setEnablePanInteractor(true);
        svgPanel.setEnableZoomInteractor(true);
        svgPanel.setEnableRotateInteractor(false);


Then I tried two solutions : let the component act naturally (resizing, showing, and so on) or use a component listener to resize or show (adding a method update() to the svgcanvas inherited class which calls scheduleGVTRendering().

Both does not work.

Can you get the thread dump when it is hung? on Windows you can press ctrl-break in a dos window and the JVM will dump the state of all threads.

        Dynamicity (i.e. adding elements to the document dynamically from a database)
works well as well as contextual menus. The "hangs" occurs while I try to :
        1) resize the component (whereas it only locks the resizing but not others
interaction)
        2) zoom : all is hung!

So the entirety of the bug seems to be in the 'resizing' code. I think a thread dump would be really helpful.

I hope this would help. Hope we could get the code work.

Thank you by advance! :)





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to