From: dirk Date: Wed, 23 Apr 2014 16:04:41 +0000 (+0000) Subject: Moved raising exception in Write method. X-Git-Tag: 7.0.1-0~2421 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a713b822f9efeef4aeb33c88084b77ca2c596b77;p=imagemagick Moved raising exception in Write method. --- diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp index b08d4abcb..6d0e1ea77 100644 --- a/Magick++/lib/Image.cpp +++ b/Magick++/lib/Image.cpp @@ -4713,7 +4713,7 @@ void Magick::Image::whiteThresholdChannel(const ChannelType channel_, void Magick::Image::write(Blob *blob_) { size_t - length=2048; // Efficient size for small images + length=0; void *data; @@ -4721,14 +4721,15 @@ void Magick::Image::write(Blob *blob_) modifyImage(); GetPPException; data=ImagesToBlob(constImageInfo(),image(),&length,&exceptionInfo); + if (length > 0) + blob_->updateNoCopy(data,length,Blob::MallocAllocator); ThrowPPException; - blob_->updateNoCopy(data,length,Blob::MallocAllocator); } void Magick::Image::write(Blob *blob_,const std::string &magick_) { size_t - length=2048; // Efficient size for small images + length=0; void *data; @@ -4737,15 +4738,16 @@ void Magick::Image::write(Blob *blob_,const std::string &magick_) magick(magick_); GetPPException; data=ImagesToBlob(constImageInfo(),image(),&length,&exceptionInfo); + if (length > 0) + blob_->updateNoCopy(data,length,Blob::MallocAllocator); ThrowPPException; - blob_->updateNoCopy(data,length,Blob::MallocAllocator); } void Magick::Image::write(Blob *blob_,const std::string &magick_, const size_t depth_) { size_t - length=2048; // Efficient size for small images + length=0; void *data; @@ -4755,8 +4757,9 @@ void Magick::Image::write(Blob *blob_,const std::string &magick_, depth(depth_); GetPPException; data=ImagesToBlob(constImageInfo(),image(),&length,&exceptionInfo); + if (length > 0) + blob_->updateNoCopy(data,length,Blob::MallocAllocator); ThrowPPException; - blob_->updateNoCopy(data,length,Blob::MallocAllocator); } void Magick::Image::write(const ssize_t x_,const ssize_t y_,