Fixed nil pointers being pushed as userdata instead of actually nil
This commit is contained in:
parent
47b39799f3
commit
f8515a948c
11
Lua.pas
11
Lua.pas
@ -737,7 +737,12 @@ begin
|
|||||||
VariableBoolean: lua_pushboolean(AState, IfThen(AVariable.AsBoolean, 1, 0));
|
VariableBoolean: lua_pushboolean(AState, IfThen(AVariable.AsBoolean, 1, 0));
|
||||||
VariableInteger: lua_pushinteger(AState, AVariable.AsInteger);
|
VariableInteger: lua_pushinteger(AState, AVariable.AsInteger);
|
||||||
VariableNumber: lua_pushnumber(AState, AVariable.AsNumber);
|
VariableNumber: lua_pushnumber(AState, AVariable.AsNumber);
|
||||||
VariableUserData: lua_pushlightuserdata(AState, AVariable.AsUserData);
|
VariableUserData:
|
||||||
|
if AVariable.AsUserData = nil then
|
||||||
|
lua_pushnil(AState)
|
||||||
|
else
|
||||||
|
lua_pushlightuserdata(AState, AVariable.AsUserData);
|
||||||
|
|
||||||
VariableString: PushString(AState, AVariable.AsString);
|
VariableString: PushString(AState, AVariable.AsString);
|
||||||
VariableTable: PushTable(AState, AVariable.AsTable);
|
VariableTable: PushTable(AState, AVariable.AsTable);
|
||||||
else
|
else
|
||||||
@ -2383,7 +2388,11 @@ end;
|
|||||||
|
|
||||||
procedure TLuaStackWriteParameters.Push(AUserData: Pointer);
|
procedure TLuaStackWriteParameters.Push(AUserData: Pointer);
|
||||||
begin
|
begin
|
||||||
|
if AUserData = nil then
|
||||||
|
lua_pushnil(State)
|
||||||
|
else
|
||||||
lua_pushlightuserdata(State, AUserData);
|
lua_pushlightuserdata(State, AUserData);
|
||||||
|
|
||||||
Pushed;
|
Pushed;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user