diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp index 0607a23af..d09c356f4 100644 --- a/src/citra_qt/bootmanager.cpp +++ b/src/citra_qt/bootmanager.cpp @@ -104,7 +104,7 @@ void EmuThread::run() { } OpenGLWindow::OpenGLWindow(QWindow* parent, QWidget* event_handler, QOpenGLContext* shared_context) - : QWindow(parent), context(new QOpenGLContext(shared_context->parent())), + : QWindow(parent), context(std::make_unique(shared_context->parent())), event_handler(event_handler) { // disable vsync for any shared contexts @@ -447,8 +447,8 @@ std::unique_ptr GRenderWindow::CreateSharedContext() } GLContext::GLContext(QOpenGLContext* shared_context) - : context(new QOpenGLContext(shared_context->parent())), - surface(new QOffscreenSurface(nullptr)) { + : context(std::make_unique(shared_context->parent())), + surface(std::make_unique(nullptr)) { // disable vsync for any shared contexts auto format = shared_context->format(); @@ -463,7 +463,7 @@ GLContext::GLContext(QOpenGLContext* shared_context) } void GLContext::MakeCurrent() { - context->makeCurrent(surface); + context->makeCurrent(surface.get()); } void GLContext::DoneCurrent() { diff --git a/src/citra_qt/bootmanager.h b/src/citra_qt/bootmanager.h index 3dec9751b..40946abb6 100644 --- a/src/citra_qt/bootmanager.h +++ b/src/citra_qt/bootmanager.h @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -36,8 +37,8 @@ public: void DoneCurrent() override; private: - QOpenGLContext* context; - QOffscreenSurface* surface; + std::unique_ptr context; + std::unique_ptr surface; }; class EmuThread final : public QThread { @@ -138,7 +139,7 @@ protected: void exposeEvent(QExposeEvent* event) override; private: - QOpenGLContext* context; + std::unique_ptr context; QWidget* event_handler; };