diff --git a/client/render/CanvasImage.cpp b/client/render/CanvasImage.cpp index dc6d619bb..3ed438363 100644 --- a/client/render/CanvasImage.cpp +++ b/client/render/CanvasImage.cpp @@ -25,6 +25,11 @@ CanvasImage::CanvasImage(const Point & size, CanvasScalingPolicy scalingPolicy) { } +CanvasImage::~CanvasImage() +{ + SDL_FreeSurface(surface); +} + void CanvasImage::draw(SDL_Surface * where, const Point & pos, const Rect * src, int scalingFactor) const { if(src) diff --git a/client/render/CanvasImage.h b/client/render/CanvasImage.h index 095a4276b..56452c926 100644 --- a/client/render/CanvasImage.h +++ b/client/render/CanvasImage.h @@ -16,6 +16,7 @@ class CanvasImage : public IImage { public: CanvasImage(const Point & size, CanvasScalingPolicy scalingPolicy); + ~CanvasImage(); Canvas getCanvas(); diff --git a/lib/bonuses/CBonusSystemNode.cpp b/lib/bonuses/CBonusSystemNode.cpp index 9f18a1cb5..e1c2d7f46 100644 --- a/lib/bonuses/CBonusSystemNode.cpp +++ b/lib/bonuses/CBonusSystemNode.cpp @@ -188,6 +188,7 @@ std::shared_ptr CBonusSystemNode::getUpdatedBonus(const std::shared_ptrheroh->getDefaultAllowed();