| Summary: | [DateTime] Selection event race condition | ||
|---|---|---|---|
| Product: | [RT] RAP | Reporter: | Oliver B. <oliver> |
| Component: | RWT | Assignee: | Project Inbox <rap-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | steffen, tbuschto |
| Version: | 1.4 | ||
| Target Milestone: | 1.4 M7 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
|
Description
Oliver B.
Actually, the widget even crashes the application when disposed before sending the changes. Possibly the symptoms of the problem have changed since the version the reporter used. The fix in any case would be to add the parameters immediately and also send the request immediately if a selectionListener is present. Fixed in CVS HEAD as described above in DateTimeDate.js and DateTimeTime.js. DateTimeCalendar did not have the issue. The fix was no good because the server can now be flooded with events if the spinner is pressed down. I will try to update the fix. The problem is with re-introducing the delay that if another widget is selected within that delay (like the original scenario), one of the events will get lost because one Request can only have one WidgetSelected event. Fixed in CVS HEAD for good (i think). It now sends the request if the value doesnt change for 100 ms. Its still possible to loose the event if the user is really fast (using a combination of mouse and keyboard for example), but its very unlikely. To fix it 100% we would need the protocol implementation. It cant crash in any case anymore. |