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

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/pull/867

Reply via email to