Bug #1858
closedQueued/pending browser events can cause display errors, e.g. tabs in bootstrap-themed WTabWidget.
0%
Description
When pending events are queued on the browser (due to communication or server delay, etc.), they are processed in a batch on the server and this can lead to display problems --- under some circumstances. This report describes one way this can happen (using github version 3.3.0-7-g53cd144), along with a test program and some captured communication output. The issue is not believed to be browser-specific, although it does require javascript.
The attached test program (tabwidget_bug_20130417a.cc) displays a TabWidget with three tabs. To drive the problem:
- Run the program on a server and navigate to the application page in a browser.
- Temporarily disable communication with the server.
- Click on tabs in the following sequence: 1 - 2 - 3 - 2 - 1.
- Enable communication with the server.
- You should note that the contents of the first tab are displayed, but not the tab itself. That is, no tab is selected.
The test program can be invoked with a URL parameter of "?polished" to test with the "polished" theme. Unlike with the "bootstrap" theme, the first tab should appear selected after this sequence.
The request/response pairs along with headers are provided in a second attached file: queue_style_issue_log_20130419c.txt
This issue can also currently be observed on the Wt site's tab widget example at: http://www.webtoolkit.eu/widgets/navigation/tab-widget
In this case, just click the first three tabs in sequence: "First" - "Preload" - "Style" - "Preload" - "First", before re-enabling communication.
A potential fix for this issue will be posted shortly on github and I will update this report with a link.
Files
Updated by Bruce Toll over 11 years ago
A pull request with a proposed patch is now available here: https://github.com/kdeforche/wt/pull/27
Updated by Koen Deforche over 11 years ago
- Status changed from New to InProgress
- Assignee set to Koen Deforche
- Target version set to 3.3.1
Updated by Koen Deforche over 11 years ago
- Status changed from InProgress to Resolved
Hey,
it turned out it had to do with multiple additions of the same style class to the addedStyleClasses and removedStyleClasses vectors... Good we caught it.
Regards,
koen
Updated by Koen Deforche over 11 years ago
- Status changed from Resolved to Closed