Feature/globals handling (#1352)

* Cleaner handling of global state
* Prevent Lua memory corruption (closes #982)
* Initialize glfw first thing to prevent weird joystick loading bug during startup
This commit is contained in:
Alexander Bock
2020-10-21 22:30:05 +02:00
committed by GitHub
parent 1525a0490d
commit efffc25ce0
164 changed files with 1484 additions and 1390 deletions
@@ -70,7 +70,7 @@ int addDashboardItemToScreenSpace(lua_State* L) {
return 0;
}
ScreenSpaceRenderable* ssr = global::renderEngine.screenSpaceRenderable(name);
ScreenSpaceRenderable* ssr = global::renderEngine->screenSpaceRenderable(name);
if (!ssr) {
return ghoul::lua::luaError(L, "Provided name is not a ScreenSpace item");
@@ -98,7 +98,7 @@ int removeDashboardItemsFromScreenSpace(lua_State* L) {
ghoul::lua::checkArgumentsAndThrow(L, 1, "lua::removeDashboardItemsFromScreenSpace");
const std::string& name = ghoul::lua::value<std::string>(L, 1);
ScreenSpaceRenderable* ssr = global::renderEngine.screenSpaceRenderable(name);
ScreenSpaceRenderable* ssr = global::renderEngine->screenSpaceRenderable(name);
if (!ssr) {
return ghoul::lua::luaError(L, "Provided name is not a ScreenSpace item");
@@ -177,7 +177,7 @@ bool ScreenSpaceDashboard::initializeGL() {
glm::vec2 penPosition = glm::vec2(10.f, _size.value().w );
if (_useMainDashboard) {
global::dashboard.render(penPosition);
global::dashboard->render(penPosition);
}
else {
_dashboard.render(penPosition);
@@ -200,8 +200,8 @@ bool ScreenSpaceDashboard::isReady() const {
}
void ScreenSpaceDashboard::update() {
if (global::windowDelegate.windowHasResized()) {
const glm::ivec2 size = global::windowDelegate.currentDrawBufferResolution();
if (global::windowDelegate->windowHasResized()) {
const glm::ivec2 size = global::windowDelegate->currentDrawBufferResolution();
_size = { 0.f, 0.f, size.x, size.y };
createFramebuffer();
}