bullet: Allow intractions with bullet world during tick callbacks

- Release the global lock during the user tick callback
        and allow interactions with bullet world
        - Acquire the lock again after the callback

Signed-off-by: deflected <deflected@users.noreply.github.com>
This commit is contained in:
deflected 2018-04-20 21:25:41 +03:00
parent e6e39cce0e
commit 1ac351d594

View File

@ -1186,7 +1186,12 @@ tick_callback(btDynamicsWorld *world, btScalar timestep) {
CallbackObject *obj = w->_tick_callback_obj;
if (obj) {
BulletTickCallbackData cbdata(timestep);
// Release the global lock that we are holding during the tick callback
// and allow interactions with bullet world in the user callback
get_global_lock().release();
obj->do_callback(&cbdata);
// Acquire the global lock again and protect the execution
get_global_lock().acquire();
}
}