From 5d5cc1029ef9d181db23ca3b0053656eda8f73be Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Wed, 19 Oct 2016 11:57:13 +0200 Subject: [PATCH] gdd: make put() write full array if requested size=0 --- src/gdd/gdd.cc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/gdd/gdd.cc b/src/gdd/gdd.cc index 1a84808c6..438986ad1 100644 --- a/src/gdd/gdd.cc +++ b/src/gdd/gdd.cc @@ -1355,11 +1355,14 @@ gddStatus gdd::put ( const gdd * dd ) } aitUint32 srcAvailSize = srcElemCount - unusedSrcBelow; - if ( srcAvailSize > this->getBounds()->size() ) { - srcCopySize = this->getBounds()->size(); - } - else { - srcCopySize = srcAvailSize; + { + aitUint32 destSize = this->getBounds()->size(); + if ( destSize > 0 && srcAvailSize > destSize ) { + srcCopySize = destSize; + } + else { + srcCopySize = srcAvailSize; + } } if ( dataVoid() == NULL )