|
|
@@ -76,9 +76,11 @@ using namespace std;
|
|
|
|
|
|
#ifdef BROWSER_AVAILABLE
|
|
|
#include <browser-panel.hpp>
|
|
|
-static CREATE_BROWSER_WIDGET_PROC create_browser_widget = nullptr;
|
|
|
#endif
|
|
|
|
|
|
+struct QCef;
|
|
|
+QCef *cef = nullptr;
|
|
|
+
|
|
|
namespace {
|
|
|
|
|
|
template <typename OBSRef>
|
|
|
@@ -1531,7 +1533,7 @@ void OBSBasic::OBSInit()
|
|
|
obs_post_load_modules();
|
|
|
|
|
|
#ifdef BROWSER_AVAILABLE
|
|
|
- create_browser_widget = obs_browser_init_panel();
|
|
|
+ cef = obs_browser_init_panel();
|
|
|
#endif
|
|
|
|
|
|
CheckForSimpleModeX264Fallback();
|
|
|
@@ -1763,7 +1765,7 @@ void OBSBasic::OnFirstLoad()
|
|
|
|
|
|
#ifdef BROWSER_AVAILABLE
|
|
|
/* Attempt to load init screen if available */
|
|
|
- if (create_browser_widget) {
|
|
|
+ if (cef) {
|
|
|
WhatsNewInfoThread *wnit = new WhatsNewInfoThread();
|
|
|
if (wnit) {
|
|
|
connect(wnit, &WhatsNewInfoThread::Result,
|
|
|
@@ -1874,7 +1876,7 @@ void OBSBasic::ReceivedIntroJson(const QString &text)
|
|
|
dlg.setWindowTitle("What's New");
|
|
|
dlg.resize(700, 600);
|
|
|
|
|
|
- QCefWidget *cefWidget = create_browser_widget(nullptr, info_url);
|
|
|
+ QCefWidget *cefWidget = cef->create_widget(nullptr, info_url);
|
|
|
if (!cefWidget) {
|
|
|
return;
|
|
|
}
|
|
|
@@ -2243,6 +2245,11 @@ OBSBasic::~OBSBasic()
|
|
|
}
|
|
|
}
|
|
|
#endif
|
|
|
+
|
|
|
+#ifdef BROWSER_AVAILABLE
|
|
|
+ delete cef;
|
|
|
+ cef = nullptr;
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
void OBSBasic::SaveProjectNow()
|