浏览代码

UI, libobs: Add RAII wrappers for faders/volume meters

They can now be automatically deleted.
Clayton Groeneveld 3 年之前
父节点
当前提交
e121ac1587
共有 3 个文件被更改,包括 4 次插入4 次删除
  1. 0 2
      UI/volume-control.cpp
  2. 2 2
      UI/volume-control.hpp
  3. 2 0
      libobs/obs.hpp

+ 0 - 2
UI/volume-control.cpp

@@ -431,8 +431,6 @@ VolControl::~VolControl()
 				  "audio_monitoring",
 				  OBSMixersOrMonitoringChanged, this);
 
-	obs_fader_destroy(obs_fader);
-	obs_volmeter_destroy(obs_volmeter);
 	if (contextMenu)
 		contextMenu->close();
 }

+ 2 - 2
UI/volume-control.hpp

@@ -290,8 +290,8 @@ private:
 	QPushButton *config = nullptr;
 	float levelTotal;
 	float levelCount;
-	obs_fader_t *obs_fader;
-	obs_volmeter_t *obs_volmeter;
+	OBSFader obs_fader;
+	OBSVolMeter obs_volmeter;
 	bool vertical;
 	QMenu *contextMenu;
 

+ 2 - 0
libobs/obs.hpp

@@ -310,6 +310,8 @@ public:
 
 using OBSDisplay = OBSPtr<obs_display_t *, obs_display_destroy>;
 using OBSView = OBSPtr<obs_view_t *, obs_view_destroy>;
+using OBSFader = OBSPtr<obs_fader_t *, obs_fader_destroy>;
+using OBSVolMeter = OBSPtr<obs_volmeter_t *, obs_volmeter_destroy>;
 
 /* signal handler connection */
 class OBSSignal {