The reason for the UI thread changes is to avoid glitches where the
combo box might not have the right width, or sometimes might not have
any contents, or the panel isn't created properly, etc.


http://gwt-code-reviews.appspot.com/111809/diff/1/6
File dev/core/src/com/google/gwt/dev/SwingUI.java (right):

http://gwt-code-reviews.appspot.com/111809/diff/1/6#newcode178
Line 178: ModuleHandle handle = invokeAndGet(new
Callable<ModuleHandle>() {
On 2009/11/24 22:26:36, rdayal wrote:
> Why do you want to do this work on the UI thread?

 From research about Swing UI glitches, it looks like *everything*
related to Swing should be run in the UI thread, even things that create
the widgets and access their values.

http://gwt-code-reviews.appspot.com/111809/diff/1/3
File dev/core/src/com/google/gwt/dev/shell/ShellMainWindow.java (right):

http://gwt-code-reviews.appspot.com/111809/diff/1/3#newcode254
Line 254: if (launcher == null || selectedUrl == null) {
On 2009/11/24 22:26:36, rdayal wrote:
> Change this to an assert perhaps?

I believe the problem Ray saw will be fixed by the UI thread changes,
but rather than having an NPE or assertion failure I think it is better
to silently ignore the case where the button winds up being clicked with
no elements in the dropdown.

http://gwt-code-reviews.appspot.com/111809/diff/1/2
File dev/core/src/com/google/gwt/dev/shell/jetty/JettyLauncher.java
(right):

http://gwt-code-reviews.appspot.com/111809/diff/1/2#newcode84
Line 84: logStatus = TreeLogger.TRACE;
On 2009/11/24 22:26:36, rdayal wrote:
> Thanks for taking care of this. To be clear, this means that we don't
want to
> have the 404 for favicon show up in the Swing UI either, right?

Correct.

http://gwt-code-reviews.appspot.com/111809/diff/1/7
File dev/core/src/com/google/gwt/dev/ui/DevModeUI.java (right):

http://gwt-code-reviews.appspot.com/111809/diff/1/7#newcode126
Line 126: * Indicates that module load is complete, and that URLs
previously specified
On 2009/11/24 22:26:36, rdayal wrote:
> Naming suggestion - this really means that the modules have been
processed,
> right? Might want to clarify this in the doc, though the method name
can remain
> the same.

We do have confusing terminology here, but basically ModuleDefLoader has
finished loading the modules.  That is separate from onModuleLoad having
been completed.  So, unless we want to go back and rename one of those
to avoid confusion I think this is the right name.

http://gwt-code-reviews.appspot.com/111809

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to