This commit moves all access to TMSourceFiles/the tagmanager API into a dedicated file ```tm_control.c```. Calls from the workbench plugin to the tag-manager API may now only appear in this file. Also all calls are synced using a idle-queue managed in ```idle_queue.c``` (using ```plugin_idle_add()```). This way the file lists in the workbench projects is completely de-coupled of any TMSourceFile related data/references. Fixes #866.
(Calls to the tag-manager API were synced before also. But the implementation was not very clean and therefore contained errors/code where the tag-manager API was called directly - which could lead to crashes) You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany-plugins/pull/867
-- Commit Summary --
* workbench: revised tag-manager control/usage
-- File Changes --
M workbench/src/Makefile.am (6) A workbench/src/idle_queue.c (134) A workbench/src/idle_queue.h (33) M workbench/src/plugin_main.c (31) A workbench/src/tm_control.c (243) A workbench/src/tm_control.h (31) M workbench/src/wb_project.c (346) M workbench/src/wb_project.h (9)
-- Patch Links --
https://github.com/geany/geany-plugins/pull/867.patch https://github.com/geany/geany-plugins/pull/867.diff