Merge pull request #15 from defold/crash_issue_fix

Fix crash related to lua stack
This commit is contained in:
Björn Ritzl 2020-01-17 06:20:18 +01:00 committed by GitHub
commit ce26b8fdd9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 24 deletions

View File

@ -277,11 +277,7 @@ static void HandleProductResult(const IAPCommand* cmd)
IAP_PushError(L, "failed to fetch product", REASON_UNSPECIFIED); IAP_PushError(L, "failed to fetch product", REASON_UNSPECIFIED);
} }
int ret = lua_pcall(L, 3, 0, 0); dmScript::PCall(L, 3, 0);
if (ret != 0) {
dmLogError("Error running callback: %s", lua_tostring(L, -1));
lua_pop(L, 1);
}
dmScript::TeardownCallback(cmd->m_Callback); dmScript::TeardownCallback(cmd->m_Callback);
dmScript::DestroyCallback(cmd->m_Callback); dmScript::DestroyCallback(cmd->m_Callback);
@ -335,11 +331,7 @@ static void HandlePurchaseResult(const IAPCommand* cmd)
IAP_PushError(L, "failed to buy product", REASON_UNSPECIFIED); IAP_PushError(L, "failed to buy product", REASON_UNSPECIFIED);
} }
int ret = dmScript::PCall(L, 3, 0); dmScript::PCall(L, 3, 0);
if (ret != 0) {
dmLogError("Error running callback: %s", lua_tostring(L, -1));
lua_pop(L, 1);
}
dmScript::TeardownCallback(cmd->m_Callback); dmScript::TeardownCallback(cmd->m_Callback);

View File

@ -71,8 +71,7 @@ static void IAPList_Callback(void* luacallback, const char* result_json)
IAP_PushError(L, "Got empty list result.", REASON_UNSPECIFIED); IAP_PushError(L, "Got empty list result.", REASON_UNSPECIFIED);
} }
int ret = dmScript::PCall(L, 3, 0); dmScript::PCall(L, 3, 0);
(void)ret;
dmScript::DestroyCallback(callback); dmScript::DestroyCallback(callback);
dmScript::TeardownCallback(callback); dmScript::TeardownCallback(callback);
@ -144,8 +143,7 @@ static void IAPListener_Callback(void* luacallback, const char* result_json, int
} }
} }
int ret = dmScript::PCall(L, 3, 0); dmScript::PCall(L, 3, 0);
(void)ret;
dmScript::TeardownCallback(callback); dmScript::TeardownCallback(callback);
} }

View File

@ -186,11 +186,7 @@ static void HandleProductResult(IAPCommand* cmd)
} }
lua_pushnil(L); lua_pushnil(L);
int ret = dmScript::PCall(L, 3, 0); dmScript::PCall(L, 3, 0);
if (ret != 0) {
dmLogError("%d: Error running callback: %s", __LINE__, lua_tostring(L, -1));
lua_pop(L, 1);
}
dmScript::TeardownCallback(cmd->m_Callback); dmScript::TeardownCallback(cmd->m_Callback);
dmScript::DestroyCallback(cmd->m_Callback); dmScript::DestroyCallback(cmd->m_Callback);
@ -318,11 +314,7 @@ static void HandlePurchaseResult(IAPCommand* cmd)
lua_pushnil(L); lua_pushnil(L);
} }
int ret = dmScript::PCall(L, 3, 0); dmScript::PCall(L, 3, 0);
if (ret != 0) {
dmLogError("%d: Error running callback: %s", __LINE__, lua_tostring(L, -1));
lua_pop(L, 1);
}
dmScript::TeardownCallback(cmd->m_Callback); dmScript::TeardownCallback(cmd->m_Callback);