]> git.sesse.net Git - nageru/blobdiff - main.cpp
Yet more fixes for clean shutdown.
[nageru] / main.cpp
index f28b859fd842bdc501d238eccc743bf6667b5545..a0d8f669ca083085deaca67119451303cd7226a4 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -14,15 +14,22 @@ extern "C" {
 
 #include "context.h"
 #include "flags.h"
+#include "image_input.h"
 #include "mainwindow.h"
 #include "mixer.h"
 
 int main(int argc, char *argv[])
 {
-       setenv("QT_XCB_GL_INTEGRATION", "xcb_egl", 0);
+       parse_flags(argc, argv);
+
+       if (global_flags.va_display.empty() ||
+           global_flags.va_display[0] != '/') {
+               // We normally use EGL for zerocopy, but if we use VA against DRM
+               // instead of against X11, we turn it off, and then don't need EGL.
+               setenv("QT_XCB_GL_INTEGRATION", "xcb_egl", 0);
+       }
        setlinebuf(stdout);
        av_register_all();
-       parse_flags(argc, argv);
 
        QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts, true);
        QApplication app(argc, argv);
@@ -49,5 +56,6 @@ int main(int argc, char *argv[])
        global_mixer->quit();
        mainWindow.mixer_shutting_down();
        delete global_mixer;
+       ImageInput::shutdown_updaters();
        return rc;
 }