[libcamera-devel] [PATCH 2/4] libcamera: Make Camera destructor public

Jacopo Mondi jacopo at jmondi.org
Tue Jan 15 15:07:47 CET 2019


The Camera class destructor is defined as private, but it needs to be
accessed by classes that create Camera instances, such as pipeline
handlers.

Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
---
 include/libcamera/camera.h      | 2 +-
 src/libcamera/pipeline/vimc.cpp | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h
index 9a7579d..d751d2d 100644
--- a/include/libcamera/camera.h
+++ b/include/libcamera/camera.h
@@ -15,13 +15,13 @@ class Camera
 {
 public:
 	Camera(const std::string &name);
+	virtual ~Camera() { };
 
 	const std::string &name() const;
 	void get();
 	void put();
 
 private:
-	virtual ~Camera() { };
 	int ref_;
 	std::string name_;
 };
diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp
index 720d9c2..00c544c 100644
--- a/src/libcamera/pipeline/vimc.cpp
+++ b/src/libcamera/pipeline/vimc.cpp
@@ -41,6 +41,8 @@ PipeHandlerVimc::~PipeHandlerVimc()
 
 	if (dev_)
 		dev_->release();
+
+	delete camera_;
 }
 
 unsigned int PipeHandlerVimc::count()
-- 
2.20.1



More information about the libcamera-devel mailing list