kicad/common/tool
Maciej Suminski dfcdfe91fa Fixed the TOOL_STATE::idle field setting condition
The tools were being set as idle, whenever an event handler execution
finished (via TOOL_MANAGER::finishTool()). Such approach does not take
into account cases when a tool is active and receives an event causing
another event handler of the same tool to run. When this happend, the
tool has been incorrectly set as idle when the second handler finished
its execution.

In a particular case, invoking the router settings dialog caused the PNS
router to be incorrectly detected as inactive in
EDIT_TOOL::invokeInlineRouter(). Due to that, ROUTER_TOOL::CanInlineDrag()
requested a selection that required disambiguation menu for items
that were modified by the router, but not yet committed. After the drag
tool had finished, the disambiguation menu was eventually shown
with items existing only in the undo buffer. Removing such item lead to
track DLIST corruption, effectively erasing all tracks.

Fixes: lp:1767826
* https://bugs.launchpad.net/kicad/+bug/1767826
2018-05-17 16:24:13 +02:00
..
action_manager.cpp Changed ACTION_MANAGER assert() calls to wxASSERT() 2018-04-12 08:47:09 +02:00
actions.cpp Move ZOOM_TOOL to common; add RMB-drag to zoom out 2017-08-31 10:04:00 +02:00
common_tools.cpp Make all new hotkeys editable; label some GAL-only hotkeys 2018-02-25 17:57:36 -05:00
conditional_menu.cpp Refactor SELECTION, SELECTION_CONDITIONS, and context menus to common 2017-02-28 14:47:20 +01:00
context_menu.cpp Promote selection up context menu hierarchy. 2018-03-26 20:35:49 +01:00
grid_menu.cpp Fix code after renaming files 2018-01-29 11:37:29 +01:00
selection_conditions.cpp Refactor SELECTION, SELECTION_CONDITIONS, and context menus to common 2017-02-28 14:47:20 +01:00
tool_action.cpp Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases 2018-01-09 18:55:51 -05:00
tool_base.cpp fix code after renaming files 2018-01-29 22:00:44 +01:00
tool_dispatcher.cpp Revert broken hotkey fix. 2018-04-14 08:24:25 -04:00
tool_event.cpp Fix loop variable copy in for-range loop, use const reference instead 2018-01-09 19:18:44 -05:00
tool_interactive.cpp Prevent creating too many transitions by TOOL_MANAGER 2017-07-31 15:09:19 +02:00
tool_manager.cpp Fixed the TOOL_STATE::idle field setting condition 2018-05-17 16:24:13 +02:00
tool_menu.cpp Refactor SELECTION, SELECTION_CONDITIONS, and context menus to common 2017-02-28 14:47:20 +01:00
zoom_menu.cpp Fix code after renaming files 2018-01-29 11:37:29 +01:00
zoom_tool.cpp Fix zoom to selection in bug in gal canvas. 2018-03-25 16:12:56 -04:00