No.  I just wanted to make sure all the events had been processed before
taking further GUI input from the user.  Although I imagine the response
is fast enough.  I use this static method to add and remove elements,
resize the document, and set the background element.

Michael Bishop

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Monday, October 24, 2005 11:23 AM
To: [email protected]
Cc: [email protected]
Subject: RE: Resize bug?

Hi Michael,

"Bishop, Michael W. CONTR J9C880" <[EMAIL PROTECTED]> wrote on

10/24/2005 11:13:12 AM:

>      I don't think I'm calling it from the Swing thread.  This code is
> basically called from an ActionListener.  Are ActionListeners executed
> in the Swing thread?

   Yes, ActionListeners are executed in the Swing thread.  So you are
calling it from the Swing thread.

> The ActionListener calls a static method in a utility class:
> 
>     public static boolean runInUpdateManager(Runnable runnable) {
>         boolean returnValue = false;
>         try {
>             if (GVTListener.getTreeRendered()) {
>                 returnValue = true;
>                 BatikDemo2.getSVGCanvas().getUpdateManager()
> .getUpdateRunnableQueue().invokeAndWait(runnable);
>             }
>         } catch (InterruptedException iE) {
>             iE.printStackTrace();
>         }
>         return returnValue;
>     }
> 
> So yes, I'm calling invokeAndWait() in the RunnableQueue, but I didn't
> think I was deadlocking with Swing.  I guess if ActionListeners are
run
> in the Swing thread, this could be the problem.

   It is the problem. Is there a reason you need to call
invokeAndWait versus invokeLater?

> 
> Michael Bishop
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Sent: Saturday, October 22, 2005 11:25 AM
> To: [email protected]
> Cc: [email protected]
> Subject: Re: Resize bug?
> 
> "Bishop, Michael W. CONTR J9C880" <[EMAIL PROTECTED]> wrote
on
> 
> 10/21/2005 09:18:18 AM:
> 
> > I know, I?m running the whole list today!  I have another issue.
I?m 
> trying 
> > to resize the document by setting width and height attributes:
> > 
> > public void setSize(String width, String height) {
> >     svgDocument.getDocumentElement().setAttribute(SVGConstants.
> > SVG_WIDTH_ATTRIBUTE, width);
> >     svgDocument.getDocumentElement().setAttribute(SVGConstants.
> > SVG_HEIGHT_ATTRIBUTE, height);
> > }
> > 
> > I execute the above code in the run() method of a Runnable class
which
> I 
> then 
> > execute in the UpdateManager.  More often than not, it causes the
> entire 
> 
> > application to hang. 
> 
>   I would guess that you are calling invokeAndWait on the
RunnableQueue?
> And you are doing this from the Swing thread?  If so this is a known 
> issue,
> basically in some cases Batik needs to get info from Swing in which
case
> 
> it
> needs to call into the Swing Thread if you are sitting in it then it 
> causes
> a deadlock.  In this case you will need to either switch to
invokeLater,
> 
> or
> move your call to invokeAndWait out of the Swing thread (into a third 
> party
> thread you control).
> 
> > No button response.  No CPU spike.  No error message. 
> > Just locks up.  With System.out, I?ve determined that the code never

> exits 
> > from the above setSize() method.  Does anyone have any tips on why
> this 
> would 
> > happen?  Is there some kind of deadlock with running a Runnable in
the
> 
> > UpdateManager?  All my other operations; add element, remove
element, 
> set the 
> > background element, etc. run without issue.
> 
>   You can get a thread dump in windows by running the 
> application from the command line and pressing ctrl-break in
> the DOS Window, from Unix you can use 'kill -QUIT <java processes
id>'.
> This should make it clear what the problem is.
> 
> 
> > 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail:
[EMAIL PROTECTED]
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail:
[EMAIL PROTECTED]
> 


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

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

Reply via email to