unsegfault

This commit is contained in:
2025-05-05 16:30:35 -05:00
parent 03213c2c15
commit 62b7618ff4
5 changed files with 8 additions and 9 deletions

View File

@@ -11,11 +11,9 @@ namespace Archimedes {
public:
int w, h;
Renderer(void* p = nullptr) : ptr(p) {}
~Renderer() {}
bool init() { return r.init(ptr); }
bool init(void* ptr) { return r.init(ptr); }
void render() {
r.render(rc, w, h);
@@ -30,7 +28,6 @@ namespace Archimedes {
private:
std::list<std::function<void()>> rc;
RendererImpl r;
void* ptr;
};
}

View File

@@ -23,12 +23,12 @@ namespace Archimedes {
data.window = p;
data.sendEvent = sendEvent;
/*
if (!SDL_Init(SDL_INIT_VIDEO | SDL_INIT_GAMEPAD)) {
std::cerr << "Error: SDL_Init(): " << SDL_GetError() << std::endl;
std::cerr << "Error: SDL_Init(): " << SDL_GetError() << std::flush;
std::abort();
}
*/
#if RENDERER == 1
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);

View File

@@ -38,7 +38,7 @@ void WindowModule::onLoad() {
app->registerEvent(Archimedes::FocusLostWindowEvent());
app->registerEvent(Archimedes::MovedWindowEvent());
renderer = new Archimedes::Renderer(window->getWindowImpl().getWindow());
renderer = new Archimedes::Renderer();
}
void WindowModule::run() {

View File

@@ -37,7 +37,7 @@ class WindowModule : public Archimedes::Module {
window->setRenderer(renderer);
if(!renderer->init()) {
if(!renderer->init(window->getWindowImpl().getWindow())) {
std::cout << "Renderer init failed!\n";
std::abort();
}

View File

@@ -3,9 +3,11 @@
void MinimalApp::run() {
for(std::string m : runOrder) {
std::cout << "load" << m << std::endl;
modules[m]->onLoad();
}
// Main loop
while (!done && !runOrder.empty()) {