fix(editor): miniaudio crash in wasapi due to loading order

This commit is contained in:
maelstrom 2025-08-12 14:53:28 +02:00
parent 7bd3e70c3a
commit ae9a4adf67

View file

@ -7,6 +7,7 @@
#include <QStyleFactory> #include <QStyleFactory>
#include <QBasicTimer> #include <QBasicTimer>
#include <QSurfaceFormat> #include <QSurfaceFormat>
#include <cstdio>
#include <qfont.h> #include <qfont.h>
#include <qsurfaceformat.h> #include <qsurfaceformat.h>
#include <miniaudio.h> #include <miniaudio.h>
@ -15,6 +16,15 @@ ma_engine miniaudio;
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
Logger::init();
// Has to happen before Qt application initializes or we get an error in WASAPI initialization
ma_result res = ma_engine_init(NULL, &miniaudio);
if (res != MA_SUCCESS) {
Logger::fatalErrorf("Failed to initialize Miniaudio withe error [%d]", res);
panic();
}
QSurfaceFormat format; QSurfaceFormat format;
format.setSamples(4); format.setSamples(4);
format.setRenderableType(QSurfaceFormat::OpenGL); format.setRenderableType(QSurfaceFormat::OpenGL);
@ -24,14 +34,6 @@ int main(int argc, char *argv[])
QApplication a(argc, argv); QApplication a(argc, argv);
Logger::init();
ma_result res = ma_engine_init(NULL, &miniaudio);
if (res != MA_SUCCESS) {
Logger::fatalErrorf("Failed to initialize Miniaudio withe error [%d]", res);
panic();
}
MainWindow w; MainWindow w;
w.show(); w.show();
int result = a.exec(); int result = a.exec();