mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-09-24 23:31:36 +08:00
UI: Use std::shared_ptr instead of QSharedPointer
Also use std::weak_ptr instead of QWeakPointer as needed. Qt has been porting QSharedPointer and QWeakPointer to std::shared_ptr and std::weak_ptr respectively. QSharedPointer is apparently 2x slower than std::shared_ptr. References: * https://bugreports.qt.io/browse/QTBUG-109570 * https://codereview.qt-project.org/c/qt/qtbase/+/359678 * https://codereview.qt-project.org/c/qt/qtgrpc/+/447780 * https://codereview.qt-project.org/c/qt/qtbase/+/450134 * https://codereview.qt-project.org/c/qt/qttools/+/450776 * https://codereview.qt-project.org/c/qt/qttools/+/450777 * https://codereview.qt-project.org/q/QSharedPointer
This commit is contained in:
@@ -23,7 +23,7 @@ using namespace std;
|
||||
// Padding on top and bottom of vertical meters
|
||||
#define METER_PADDING 1
|
||||
|
||||
QWeakPointer<VolumeMeterTimer> VolumeMeter::updateTimer;
|
||||
std::weak_ptr<VolumeMeterTimer> VolumeMeter::updateTimer;
|
||||
|
||||
static inline Qt::CheckState GetCheckState(bool muted, bool unassigned)
|
||||
{
|
||||
@@ -870,9 +870,9 @@ VolumeMeter::VolumeMeter(QWidget *parent, obs_volmeter_t *obs_volmeter,
|
||||
channels = (int)audio_output_get_channels(obs_get_audio());
|
||||
|
||||
doLayout();
|
||||
updateTimerRef = updateTimer.toStrongRef();
|
||||
updateTimerRef = updateTimer.lock();
|
||||
if (!updateTimerRef) {
|
||||
updateTimerRef = QSharedPointer<VolumeMeterTimer>::create();
|
||||
updateTimerRef = std::make_shared<VolumeMeterTimer>();
|
||||
updateTimerRef->setTimerType(Qt::PreciseTimer);
|
||||
updateTimerRef->start(16);
|
||||
updateTimer = updateTimerRef;
|
||||
|
||||
Reference in New Issue
Block a user