Added check for edge case when adding shortcut / control callbacks
Details
Control areas and respective callbacks can be added in arbitrary order. When adding callbacks to an area that was not registered (yet), the respective controlarea will be created. However, when callbacks are added at different points / times a racing condition occurred, where only one instance created such a controlarea. Now the first creates such entries, while whichever comes next, only updates it.
Summary
Details
Control areas and respective callbacks can be added in arbitrary order. When adding callbacks to an area that was not registered (yet), the respective controlarea will be created. However, when callbacks are added at different points / times a racing condition occurred, where only one instance created such a controlarea. Now the first creates such entries, while whichever comes next, only updates it.