summaryrefslogtreecommitdiff
path: root/plugingui
diff options
context:
space:
mode:
Diffstat (limited to 'plugingui')
-rw-r--r--plugingui/pixelbuffer.cc8
-rw-r--r--plugingui/pixelbuffer.h18
2 files changed, 16 insertions, 10 deletions
diff --git a/plugingui/pixelbuffer.cc b/plugingui/pixelbuffer.cc
index 906e4d6..5d032b4 100644
--- a/plugingui/pixelbuffer.cc
+++ b/plugingui/pixelbuffer.cc
@@ -69,7 +69,8 @@ void PixelBuffer::setPixel(size_t x, size_t y,
}
PixelBufferAlpha::PixelBufferAlpha(size_t width, size_t height)
- : buf(nullptr)
+ : managed(true)
+ , buf(nullptr)
, x(0)
, y(0)
{
@@ -78,7 +79,10 @@ PixelBufferAlpha::PixelBufferAlpha(size_t width, size_t height)
PixelBufferAlpha::~PixelBufferAlpha()
{
- free(buf);
+ if(managed)
+ {
+ free(buf);
+ }
}
void PixelBufferAlpha::realloc(size_t width, size_t height)
diff --git a/plugingui/pixelbuffer.h b/plugingui/pixelbuffer.h
index 8e7618d..762aaa6 100644
--- a/plugingui/pixelbuffer.h
+++ b/plugingui/pixelbuffer.h
@@ -45,13 +45,14 @@ public:
unsigned char blue,
unsigned char alpha);
- unsigned char* buf;
- size_t width;
- size_t height;
+ unsigned char* buf{nullptr};
+ size_t width{0};
+ size_t height{0};
};
class PixelBufferAlpha {
public:
+ PixelBufferAlpha() = default;
PixelBufferAlpha(size_t width, size_t height);
~PixelBufferAlpha();
@@ -77,11 +78,12 @@ public:
unsigned char* blue,
unsigned char* alpha);
- unsigned char* buf;
- size_t width;
- size_t height;
- size_t x;
- size_t y;
+ bool managed{false};
+ unsigned char* buf{nullptr};
+ size_t width{0};
+ size_t height{0};
+ size_t x{0};
+ size_t y{0};
};
} // GUI::