diff --git a/CMakeLists.txt b/CMakeLists.txt index fc51718306c9..d0a110094aab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1135,19 +1135,29 @@ install( "*.qm" ) if(WIN32) -install( - # I haven't seen a way to determine where the translations dir is, so I am making - # some assumptions here, and assuming that Qt5_DIR points to Qt-5.14.2/lib/cmake/Qt5 - # which is what my configuration tells me. - DIRECTORY - "${Qt5_DIR}/../../../translations" - DESTINATION - "${MIXXX_INSTALL_DATADIR}" - # QT 5 translations have been separated into several files, and most of the qt_xx.qm files - # contain just shortcuts to load the qtbase, qtmultimedia etc files. - FILES_MATCHING REGEX - "qt_.+\.qm|qtbase_.*\.qm|qtmultimedia_.*\.qm|qtscript_.*\.qm|qtxmlpatterns_.*\.qm" -) + install( + # I haven't seen a way to determine where the translations dir is, so I am making + # some assumptions here, and assuming that Qt5_DIR points to Qt-5.14.2/lib/cmake/Qt5 + # which is what my configuration tells me. + DIRECTORY + "${Qt5_DIR}/../../../translations" + DESTINATION + "${MIXXX_INSTALL_DATADIR}" + # QT 5 translations have been separated into several files, and most of the qt_xx.qm files + # contain just shortcuts to load the qtbase, qtmultimedia etc files. + FILES_MATCHING REGEX + "qt_.+\.qm|qtbase_.*\.qm|qtmultimedia_.*\.qm|qtscript_.*\.qm|qtxmlpatterns_.*\.qm" + ) + + # Qt loads the ANGLE libraries dynamically, even when Qt itself is linked statically + install( + DIRECTORY + "${Qt5_DIR}/../../../bin" + DESTINATION + "${MIXXX_INSTALL_DATADIR}" + FILES_MATCHING REGEX + "libEGL.dll|libGLESv2.dll" + ) endif() # Font files diff --git a/src/waveform/waveformwidgetfactory.cpp b/src/waveform/waveformwidgetfactory.cpp index 6ab108937994..ee049db7cc4b 100644 --- a/src/waveform/waveformwidgetfactory.cpp +++ b/src/waveform/waveformwidgetfactory.cpp @@ -713,6 +713,9 @@ void WaveformWidgetFactory::swap() { } QGLWidget* glw = qobject_cast(pWaveformWidget->getWidget()); if (glw != nullptr) { + if (QGLContext::currentContext() != glw->context()) { + glw->makeCurrent(); + } glw->swapBuffers(); } //qDebug() << "swap x" << m_vsyncThread->elapsed(); diff --git a/src/widget/wspinny.cpp b/src/widget/wspinny.cpp index 406750c96235..71f9c0b607a3 100644 --- a/src/widget/wspinny.cpp +++ b/src/widget/wspinny.cpp @@ -403,6 +403,9 @@ void WSpinny::swap() { if (window == nullptr || !window->isExposed()) { return; } + if (QGLContext::currentContext() != context()) { + makeCurrent(); + } swapBuffers(); }