diff --git a/ui/gl/gl_detection.cpp b/ui/gl/gl_detection.cpp index 90b1581..3d9871b 100644 --- a/ui/gl/gl_detection.cpp +++ b/ui/gl/gl_detection.cpp @@ -6,6 +6,7 @@ // #include "ui/gl/gl_detection.h" +#include "ui/integration.h" #include "base/debug_log.h" #include @@ -45,7 +46,11 @@ Capabilities CheckCapabilities(QWidget *widget) { } auto tester = QOpenGLWidget(widget); tester.setFormat(format); + + Ui::Integration::Instance().openglCheckStart(); tester.grabFramebuffer(); // Force initialize(). + Ui::Integration::Instance().openglCheckFinish(); + if (!tester.window()->windowHandle()) { tester.window()->createWinId(); } diff --git a/ui/integration.cpp b/ui/integration.cpp index ae25fc0..f7879f0 100644 --- a/ui/integration.cpp +++ b/ui/integration.cpp @@ -30,6 +30,16 @@ bool Integration::Exists() { return (IntegrationInstance != nullptr); } +void Integration::openglCheckStart() { +} + +void Integration::openglCheckFinish() { +} + +bool Integration::openglLastCheckFailed() { + return false; +} + void Integration::textActionsUpdated() { } diff --git a/ui/integration.h b/ui/integration.h index c51f774..955ea72 100644 --- a/ui/integration.h +++ b/ui/integration.h @@ -35,6 +35,10 @@ public: virtual void registerLeaveSubscription(not_null widget) = 0; virtual void unregisterLeaveSubscription(not_null widget) = 0; + virtual void openglCheckStart(); + virtual void openglCheckFinish(); + [[nodiscard]] virtual bool openglLastCheckFailed(); + [[nodiscard]] virtual QString emojiCacheFolder() = 0; virtual void textActionsUpdated();