diff options
-rw-r--r-- | package/source/zippackage/ZipPackage.cxx | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/package/source/zippackage/ZipPackage.cxx b/package/source/zippackage/ZipPackage.cxx index 27e578d51bda..021ad2ad6792 100644 --- a/package/source/zippackage/ZipPackage.cxx +++ b/package/source/zippackage/ZipPackage.cxx @@ -530,11 +530,15 @@ void ZipPackage::getZipFileContents() { nStreamIndex++; sTemp = rName.copy( nStreamIndex ); - ZipPackageStream *pPkgStream = new ZipPackageStream(*this, m_xContext, m_nFormat, m_bAllowRemoveOnInsert); - pPkgStream->SetPackageMember( true ); - pPkgStream->setZipEntryOnLoading( rEntry ); - pPkgStream->setName( sTemp ); - pPkgStream->doSetParent( pCurrent ); + + if (!pCurrent->hasByName(sTemp)) + { + ZipPackageStream *pPkgStream = new ZipPackageStream(*this, m_xContext, m_nFormat, m_bAllowRemoveOnInsert); + pPkgStream->SetPackageMember(true); + pPkgStream->setZipEntryOnLoading(rEntry); + pPkgStream->setName(sTemp); + pPkgStream->doSetParent(pCurrent); + } } } |