summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/source/gdi/impgraph.cxx37
1 files changed, 22 insertions, 15 deletions
diff --git a/vcl/source/gdi/impgraph.cxx b/vcl/source/gdi/impgraph.cxx
index eba12fd26c44..83e3a196d030 100644
--- a/vcl/source/gdi/impgraph.cxx
+++ b/vcl/source/gdi/impgraph.cxx
@@ -1117,27 +1117,34 @@ bool ImpGraphic::swapInContent(SvStream& rStream)
sal_Int32 nType;
sal_Int32 nLength;
- rStream.ReadUInt32(nId);
-
- // check version
- if (SWAP_FORMAT_ID != nId)
+ try
{
- SAL_WARN("vcl", "Incompatible swap file!");
- return false;
- }
+ rStream.ReadUInt32(nId);
- rStream.ReadInt32(nType);
- rStream.ReadInt32(nLength);
+ // check version
+ if (SWAP_FORMAT_ID != nId)
+ {
+ SAL_WARN("vcl", "Incompatible swap file!");
+ return false;
+ }
- meType = static_cast<GraphicType>(nType);
+ rStream.ReadInt32(nType);
+ rStream.ReadInt32(nLength);
- if (meType == GraphicType::NONE || meType == GraphicType::Default)
- {
- return true;
+ meType = static_cast<GraphicType>(nType);
+
+ if (meType == GraphicType::NONE || meType == GraphicType::Default)
+ {
+ return true;
+ }
+ else
+ {
+ bRet = swapInGraphic(rStream);
+ }
}
- else
+ catch (const SvStreamEOFException&)
{
- bRet = swapInGraphic(rStream);
+ SAL_WARN("vcl", "EOF");
}
return bRet;