diff options
author | Artur Signell <artur.signell@itmill.com> | 2011-11-17 12:19:38 +0000 |
---|---|---|
committer | Artur Signell <artur.signell@itmill.com> | 2011-11-17 12:19:38 +0000 |
commit | 3df72bd6aa397a1790820d3b39259fbddaf2300e (patch) | |
tree | 18a4e6d6fd9c7cab5e247319c8d37cb3677318da /src/com | |
parent | d3e50f003f039f8d5124317534c49573f09eedd6 (diff) | |
download | vaadin-framework-3df72bd6aa397a1790820d3b39259fbddaf2300e.tar.gz vaadin-framework-3df72bd6aa397a1790820d3b39259fbddaf2300e.zip |
#7647 ComboBox popup content disappears on up/down button double click
svn changeset:22047/svn branch:6.7
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java b/src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java index fef7cd7f37..66200cbe8c 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java @@ -342,7 +342,20 @@ public class VFilterSelect extends Composite implements Paintable, Field, @Override public void run() { if (pagesToScroll != 0) { - filterOptions(currentPage + pagesToScroll, lastFilter); + if (!waitingForFilteringResponse) { + /* + * Avoid scrolling while we are waiting for a response + * because otherwise the waiting flag will be reset in + * the first response and the second response will be + * ignored, causing an empty popup... + * + * As long as the scrolling delay is suitable + * double/triple clicks will work by scrolling two or + * three pages at a time and this should not be a + * problem. + */ + filterOptions(currentPage + pagesToScroll, lastFilter); + } pagesToScroll = 0; } } @@ -351,7 +364,7 @@ public class VFilterSelect extends Composite implements Paintable, Field, if (currentPage + pagesToScroll > 0) { pagesToScroll--; cancel(); - schedule(100); + schedule(200); } } @@ -360,7 +373,7 @@ public class VFilterSelect extends Composite implements Paintable, Field, * pageLength) { pagesToScroll++; cancel(); - schedule(100); + schedule(200); } } } |