diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-12-02 14:51:09 +0000 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-12-04 16:48:24 +0000 |
commit | 9a63f1baddecb61f92eeadc484ac31fffdbc4bbf (patch) | |
tree | da965f683981b4bb97f06b03618656833756fe6c /oox | |
parent | 48801843d65ffa3e31196cabb36c597ff81c6d07 (diff) |
Resolves: fdo#70157 fix crash on loading
Change-Id: I0d248a195852c14cd95d4e337823076dd2fbc19d
(cherry picked from commit 8302d048653d9ac25d3cb9ab9277df715053ad6a)
(cherry picked from commit a757e1b1300dde12fb865c1efd64bfd2bef00e2c)
Reviewed-on: https://gerrit.libreoffice.org/13272
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/vml/vmlformatting.cxx | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/oox/source/vml/vmlformatting.cxx b/oox/source/vml/vmlformatting.cxx index 86b303e94fb3..8fca88d3ceca 100644 --- a/oox/source/vml/vmlformatting.cxx +++ b/oox/source/vml/vmlformatting.cxx @@ -378,9 +378,13 @@ void ConversionHelper::decodeVmlPath( ::std::vector< ::std::vector< Point > >& r break; case CLOSE: // 0 param - rPointLists.back().push_back( rPointLists.back()[ 0 ] ); - rFlagLists.back().push_back( rFlagLists.back()[ 0 ] ); - aCurrentPoint = rPointLists.back().back(); + SAL_WARN_IF(rPointLists.back().empty() || rPointLists.back().empty(), "oox", "empty pointlists at close"); + if (!rPointLists.back().empty() && !rFlagLists.back().empty()) + { + rPointLists.back().push_back( rPointLists.back()[ 0 ] ); + rFlagLists.back().push_back( rFlagLists.back()[ 0 ] ); + aCurrentPoint = rPointLists.back().back(); + } break; case END: // 0 param |