| Summary: | Javascript error while DnD between two trees | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [RT] RAP | Reporter: | Sabine Neubauer <neubauer> | ||||||
| Component: | RWT | Assignee: | Project Inbox <rap-inbox> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P2 | CC: | ruediger.herrmann | ||||||
| Version: | 1.4 | ||||||||
| Target Milestone: | 1.4 RC2 | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows 7 | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
Sabine Neubauer
I can reproduce it with Controls Demo/IE9 too. Created attachment 195752 [details]
JavaScript test case
This is a test case to reproduce the problem.
Created attachment 195826 [details]
Proposed fix
After debugging together with Tim, we found two problems in DNDSupport.js:
1. The order of mouse events ( out, move, over ) differs between browsers, which leads to wrong _currentTargetWidget. We fixed this by ensuring the correct _currentTargetWidget in DNDSupport#_dragOutHandler.
2. DNDSupport#_getCurrentFeedbackTarget returns wrong result in case of fast move over another tree or table. Fixed in DNDSupport#_getCurrentFeedbackTarget by checking if _currentDropTarget contains _currentTargetWidget.
JS test from the previous patch is included too.
Comment on attachment 195826 [details]
Proposed fix
Solution is good, one line is indented too much i think.
Applied patch to CVS HEAD and v14_Maintenance. Today I have updated to RAP 1.4 RC2. The bug fix solves this issue. All works fine in Control Demo and in our own application. => bug fix verfied with 1.4 RC2 |