Reviewers: Ray Ryan,

Description:
Description:
============
CollapsiblePanel (both versions) can throw an IllegalStateException in
the following case:
1. User hovers over the hover bar while CollapsiblePanel is hidden
2. State is set to WILL_SHOW
3. Timer set for 300ms before actually showing the panel
4. State is changed programatically to IS_HIDDEN
5. Timer fires after 300ms and tries to set state to SHOWING
6. IllegalStateException occurs

Fix:
===
We now call cancelAllTimers() before setting the state to IS_HIDDEN.


Testing:
========
I added unit tests for both versions of CollapsiblePanel.  I verified
the tests fail without the fix, but pass with it.

Please review this at http://gwt-code-reviews.appspot.com/68802

Affected files:
   src/com/google/gwt/gen2/complexpanel/client/CollapsiblePanel.java
   src/com/google/gwt/widgetideas/client/CollapsiblePanel.java
   test/com/google/gwt/gen2/complexpanel/client/CollapsiblePanelTestBase.java
   test/com/google/gwt/widgetideas/client/CollapsiblePanelTest.java



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

Reply via email to