mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #17590 from bfredl/cbfree
refactor(autocmd): simplify check for freed callback
This commit is contained in:
commit
ff20d9b106
@ -2473,7 +2473,7 @@ bool aucmd_exec_is_deleted(AucmdExecutable acc)
|
|||||||
case CALLABLE_EX:
|
case CALLABLE_EX:
|
||||||
return acc.callable.cmd == NULL;
|
return acc.callable.cmd == NULL;
|
||||||
case CALLABLE_CB:
|
case CALLABLE_CB:
|
||||||
return callback_is_freed(acc.callable.cb);
|
return acc.callable.cb.type == kCallbackNone;
|
||||||
case CALLABLE_NONE:
|
case CALLABLE_NONE:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1155,27 +1155,6 @@ void callback_free(Callback *callback)
|
|||||||
callback->data.funcref = NULL;
|
callback->data.funcref = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Check if callback is freed
|
|
||||||
bool callback_is_freed(Callback callback)
|
|
||||||
{
|
|
||||||
switch (callback.type) {
|
|
||||||
case kCallbackFuncref:
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
case kCallbackPartial:
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
case kCallbackLua:
|
|
||||||
return callback.data.luaref == LUA_NOREF;
|
|
||||||
break;
|
|
||||||
case kCallbackNone:
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Copy a callback into a typval_T.
|
/// Copy a callback into a typval_T.
|
||||||
void callback_put(Callback *cb, typval_T *tv)
|
void callback_put(Callback *cb, typval_T *tv)
|
||||||
FUNC_ATTR_NONNULL_ALL
|
FUNC_ATTR_NONNULL_ALL
|
||||||
|
Loading…
Reference in New Issue
Block a user