summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2013-05-03 00:19:59 +0200
committerEike Rathke <erack@redhat.com>2013-05-03 12:50:11 +0200
commit7de7267f4cfcb455aabb09053c7ed681d4591867 (patch)
tree880669939c1680ce3620d6d14a72d36dd206f5a9 /vcl
parentbfa360c6e761a1e9b3e34665b9b36d724979fdfd (diff)
do not call LayoutEngine::reset()
Calling reset() disposes everything the LayoutEngine knows in its current state. While this may have prevented some obscure crash during exit in the past (call was added 2003-03-27), it definitely leads to a crash if the updated LayoutEngine "patch" http://download.icu-project.org/files/icu4c/51.1/icu-51-layout-fix-10107.tgz is applied as that sets fGlyphStorage=NULL (it doesn't delete LEGlyphStorage though and thus may leak, but that patch is in the wild now) and a later call to mpIcuLE->layoutChars() tries to access fGlyphStorage->...() if mpIcuLE is reused. For the patch mentioned see http://site.icu-project.org/download/51#TOC-Known-Issues and http://bugs.icu-project.org/trac/ticket/10107 Change-Id: I1b8f5c446c174d7d12b896b3ecd2a266645e8abc
Diffstat (limited to 'vcl')
-rw-r--r--vcl/generic/glyphs/gcach_layout.cxx1
1 files changed, 0 insertions, 1 deletions
diff --git a/vcl/generic/glyphs/gcach_layout.cxx b/vcl/generic/glyphs/gcach_layout.cxx
index ad93b9af6dab..c27504b96de8 100644
--- a/vcl/generic/glyphs/gcach_layout.cxx
+++ b/vcl/generic/glyphs/gcach_layout.cxx
@@ -1019,7 +1019,6 @@ bool IcuLayoutEngine::layout(ServerFontLayout& rLayout, ImplLayoutArgs& rArgs)
mpIcuLE->getGlyphs( pIcuGlyphs, rcIcu );
mpIcuLE->getCharIndices( pCharIndices, rcIcu );
mpIcuLE->getGlyphPositions( &pGlyphPositions->fX, rcIcu );
- mpIcuLE->reset(); // TODO: get rid of this, PROBLEM: crash at exit when removed
if( LE_FAILURE(rcIcu) )
return false;