Automatic migration. Original reporter: "Jabberwocky"
I believe this bug fix inadvertently caused a problem with drag and drop in 0.6.0:
"Bug Fix: Any window responding to a left mouse button down event would always report the event as 'unhandled' even though it may have taken action based on the event (thus, handling it). Event is now marked as 'handled' if, but only if, the window has to take action such as activating the window or making a change in the z-order. (http://www.cegui.org.uk/mantis/view.php?id=136)"
The problem: Every second click on my DragDropTarget is ignored.
I have an inventory-style screen which allows the user to drag around icons from one slot to another. With the upgrade to 0.6.0, the user must now click on an icon twice in order to move it. The first click is completely ignored.
- Inside System::injectMouseButtonDown (ceguisystem.cpp) we loop through all the target windows for a mouse click. - The loop continues until the event is marked as handled - Every second click results in activation of a new window, which causes the event to be marked as handled. - This causes the loop to terminate before DragContainer::onMouseButtonDown is called. - The next time the user clicks the same icon, there is no change in window activation, and DragContainer::onMouseButtonDown is properly called.