Jens-Uwe Mager
2004-07-23 18:35:36 UTC
On my XP box I have the problem that LimeWire quite fails to start
properly probably one out of three times. I have the same problem under
OS X, although it appears to happen there much more seldom. The problem
manifests itself that main the frame does not appear after the splash
screen is dismissed. Under XP this causes LimeWire to be invisible on
the task bar, one has to use task manager to kill it and try again.
Under OS X the Menu bar with just the LimeWire menu appears but using
the Quit option does nothing, one has to force quite LimeWire to try
again.
This reminded me of an issue I did read in the Java Swing Tutorial,
namely the possible deadlock possible if modifying components that have
already been realized. See:
http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html
After wrapping the call to Initializer.initialize() into a
SwingUtilities.invokeLater() the deadlock does indeed disappear,
although painting of the splash screen does not appear to happen any
more. This appearently means that the construction of the gui needs to
be more cleanly seperated out to avoid threading issues. What do you
think? Am I barking up the wrong tree?
properly probably one out of three times. I have the same problem under
OS X, although it appears to happen there much more seldom. The problem
manifests itself that main the frame does not appear after the splash
screen is dismissed. Under XP this causes LimeWire to be invisible on
the task bar, one has to use task manager to kill it and try again.
Under OS X the Menu bar with just the LimeWire menu appears but using
the Quit option does nothing, one has to force quite LimeWire to try
again.
This reminded me of an issue I did read in the Java Swing Tutorial,
namely the possible deadlock possible if modifying components that have
already been realized. See:
http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html
After wrapping the call to Initializer.initialize() into a
SwingUtilities.invokeLater() the deadlock does indeed disappear,
although painting of the splash screen does not appear to happen any
more. This appearently means that the construction of the gui needs to
be more cleanly seperated out to avoid threading issues. What do you
think? Am I barking up the wrong tree?
--
Jens-Uwe Mager <pgp-mailto:F476EBC2>
Jens-Uwe Mager <pgp-mailto:F476EBC2>