From f937be8646a0938516f817ad397eadeaef6ef77e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 24 Jul 2013 23:35:51 +0200 Subject: [PATCH] Make also constructor protected when destructor is protected. Creating given object on heap (via new) (and then not deleting it) would be possible that way, which shouldn't be. --- src/AbstractFramebuffer.h | 3 +-- src/AbstractImage.h | 14 +++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/AbstractFramebuffer.h b/src/AbstractFramebuffer.h index 184e70ae3..25f4efa09 100644 --- a/src/AbstractFramebuffer.h +++ b/src/AbstractFramebuffer.h @@ -189,8 +189,6 @@ class MAGNUM_EXPORT AbstractFramebuffer { blit(source, destination, rectangle, rectangle, mask, FramebufferBlitFilter::Nearest); } - explicit AbstractFramebuffer() = default; - /** * @brief Bind framebuffer for rendering * @@ -268,6 +266,7 @@ class MAGNUM_EXPORT AbstractFramebuffer { #else protected: #endif + explicit AbstractFramebuffer() = default; ~AbstractFramebuffer() = default; void MAGNUM_LOCAL bindInternal(FramebufferTarget target); diff --git a/src/AbstractImage.h b/src/AbstractImage.h index 412ee4179..17cfce16f 100644 --- a/src/AbstractImage.h +++ b/src/AbstractImage.h @@ -56,13 +56,6 @@ class MAGNUM_EXPORT AbstractImage { */ static std::size_t pixelSize(ImageFormat format, ImageType type); - /** - * @brief Constructor - * @param format Format of pixel data - * @param type Data type of pixel data - */ - constexpr explicit AbstractImage(ImageFormat format, ImageType type): _format(format), _type(type) {} - /** @brief Format of pixel data */ constexpr ImageFormat format() const { return _format; } @@ -77,6 +70,13 @@ class MAGNUM_EXPORT AbstractImage { std::size_t pixelSize() const { return pixelSize(_format, _type); } protected: + /** + * @brief Constructor + * @param format Format of pixel data + * @param type Data type of pixel data + */ + constexpr explicit AbstractImage(ImageFormat format, ImageType type): _format(format), _type(type) {} + ~AbstractImage() = default; #ifdef DOXYGEN_GENERATING_OUTPUT