mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-03-04 06:36:08 -05:00
UI: Add CreateQThread helper function
Allows creating a QThread via an std::function. A backward-compatible alternative to QThread::create for Qt versions older than 5.10 (when it became available in Qt).
This commit is contained in:
@@ -203,3 +203,23 @@ void DeleteLayout(QLayout *layout)
|
||||
|
||||
delete layout;
|
||||
}
|
||||
|
||||
class QuickThread : public QThread {
|
||||
public:
|
||||
explicit inline QuickThread(std::function<void()> func_)
|
||||
: func(func_)
|
||||
{}
|
||||
|
||||
private:
|
||||
virtual void run() override
|
||||
{
|
||||
func();
|
||||
}
|
||||
|
||||
std::function<void()> func;
|
||||
};
|
||||
|
||||
QThread *CreateQThread(std::function<void()> func)
|
||||
{
|
||||
return new QuickThread(func);
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <QThread>
|
||||
#include <obs.hpp>
|
||||
|
||||
#include <functional>
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
@@ -64,6 +65,8 @@ QDataStream &operator>>(QDataStream &in, OBSScene &scene);
|
||||
QDataStream &operator<<(QDataStream &out, const OBSSceneItem &si);
|
||||
QDataStream &operator>>(QDataStream &in, OBSSceneItem &si);
|
||||
|
||||
QThread *CreateQThread(std::function<void()> func);
|
||||
|
||||
class SignalBlocker {
|
||||
QWidget *widget;
|
||||
bool blocked;
|
||||
|
||||
Reference in New Issue
Block a user