diff --git a/obs/window-basic-main.cpp b/obs/window-basic-main.cpp index 7b9261b4f..68c3d129a 100644 --- a/obs/window-basic-main.cpp +++ b/obs/window-basic-main.cpp @@ -37,6 +37,9 @@ #include +#include +#include + using namespace std; Q_DECLARE_METATYPE(OBSScene); @@ -53,6 +56,13 @@ OBSBasic::OBSBasic(QWidget *parent) ui (new Ui::OBSBasic) { ui->setupUi(this); + + connect(windowHandle(), &QWindow::screenChanged, [this]() { + struct obs_video_info ovi; + + if (obs_get_video_info(&ovi)) + ResizePreview(ovi.base_width, ovi.base_height); + }); } static inline bool HasAudioDevices(const char *source_id) diff --git a/obs/window-basic-properties.cpp b/obs/window-basic-properties.cpp index 99993892b..cbf4a67e1 100644 --- a/obs/window-basic-properties.cpp +++ b/obs/window-basic-properties.cpp @@ -21,6 +21,9 @@ #include "qt-wrappers.hpp" #include "display-helpers.hpp" +#include +#include + using namespace std; OBSBasicProperties::OBSBasicProperties(QWidget *parent, OBSSource source_) @@ -46,6 +49,12 @@ OBSBasicProperties::OBSBasicProperties(QWidget *parent, OBSSource source_) layout()->addWidget(view); layout()->setAlignment(view, Qt::AlignRight); view->show(); + + connect(windowHandle(), &QWindow::screenChanged, [this]() { + if (resizeTimer) + killTimer(resizeTimer); + resizeTimer = startTimer(100); + }); } void OBSBasicProperties::SourceRemoved(void *data, calldata_t params)