unsegfault
This commit is contained in:
@@ -11,11 +11,9 @@ namespace Archimedes {
|
|||||||
public:
|
public:
|
||||||
int w, h;
|
int w, h;
|
||||||
|
|
||||||
Renderer(void* p = nullptr) : ptr(p) {}
|
|
||||||
|
|
||||||
~Renderer() {}
|
~Renderer() {}
|
||||||
|
|
||||||
bool init() { return r.init(ptr); }
|
bool init(void* ptr) { return r.init(ptr); }
|
||||||
|
|
||||||
void render() {
|
void render() {
|
||||||
r.render(rc, w, h);
|
r.render(rc, w, h);
|
||||||
@@ -30,7 +28,6 @@ namespace Archimedes {
|
|||||||
private:
|
private:
|
||||||
std::list<std::function<void()>> rc;
|
std::list<std::function<void()>> rc;
|
||||||
RendererImpl r;
|
RendererImpl r;
|
||||||
void* ptr;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,12 +23,12 @@ namespace Archimedes {
|
|||||||
|
|
||||||
data.window = p;
|
data.window = p;
|
||||||
data.sendEvent = sendEvent;
|
data.sendEvent = sendEvent;
|
||||||
|
/*
|
||||||
if (!SDL_Init(SDL_INIT_VIDEO | SDL_INIT_GAMEPAD)) {
|
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();
|
std::abort();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
#if RENDERER == 1
|
#if RENDERER == 1
|
||||||
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
|
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
|
||||||
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
|
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ void WindowModule::onLoad() {
|
|||||||
app->registerEvent(Archimedes::FocusLostWindowEvent());
|
app->registerEvent(Archimedes::FocusLostWindowEvent());
|
||||||
app->registerEvent(Archimedes::MovedWindowEvent());
|
app->registerEvent(Archimedes::MovedWindowEvent());
|
||||||
|
|
||||||
renderer = new Archimedes::Renderer(window->getWindowImpl().getWindow());
|
renderer = new Archimedes::Renderer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowModule::run() {
|
void WindowModule::run() {
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ class WindowModule : public Archimedes::Module {
|
|||||||
window->setRenderer(renderer);
|
window->setRenderer(renderer);
|
||||||
|
|
||||||
|
|
||||||
if(!renderer->init()) {
|
if(!renderer->init(window->getWindowImpl().getWindow())) {
|
||||||
std::cout << "Renderer init failed!\n";
|
std::cout << "Renderer init failed!\n";
|
||||||
std::abort();
|
std::abort();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,9 +3,11 @@
|
|||||||
void MinimalApp::run() {
|
void MinimalApp::run() {
|
||||||
|
|
||||||
for(std::string m : runOrder) {
|
for(std::string m : runOrder) {
|
||||||
|
std::cout << "load" << m << std::endl;
|
||||||
modules[m]->onLoad();
|
modules[m]->onLoad();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Main loop
|
// Main loop
|
||||||
while (!done && !runOrder.empty()) {
|
while (!done && !runOrder.empty()) {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user