Files
odfstudio/filter/source
Stephan Bergmann c75705b230 Fix lifetime of referenced-by-reference EnhancedCustomShape2d
...that is created as argument to
EnhancedCustomShape::FunctionParser::parseFunction (and referenced from data
reachable from aExpressNode), but still referenced during following
aExpressNode->fillNode call.  Reintroduce the aCustoShape2d variable that had
been removed with 86c4672f46 "OperationSmiley:
Secured quite some places using CustomShape", causing the regression that in
UBSan builds e.g. CppunitTest_sc_subsequent_export_test would fail with

> /svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx:261:57: runtime error: member call on address 0x2b1295491180 which does not point to an object of type 'EnhancedCustomShape2d'
> 0x2b1295491180: note: object is of type 'SfxItemSet'
>  1a 04 00 01  10 99 42 cb 12 2b 00 00  10 2d 8f 00 40 60 00 00  00 00 00 00 00 00 00 00  00 00 00 00
>               ^~~~~~~~~~~~~~~~~~~~~~~
>               vptr for 'SfxItemSet'
>     #0 0x2b131efeb12d in (anonymous namespace)::EnumValueExpression::fillNode(std::__debug::vector<EnhancedCustomShapeEquation, std::allocator<EnhancedCustomShapeEquation> >&, EnhancedCustomShape::ExpressionNode*, unsigned int) /svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx:261:57
>     #1 0x2b131f01f061 in (anonymous namespace)::BinaryFunctionExpression::fillNode(std::__debug::vector<EnhancedCustomShapeEquation, std::allocator<EnhancedCustomShapeEquation> >&, EnhancedCustomShape::ExpressionNode*, unsigned int) /svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx:632:40
>     #2 0x2b12e0915a5c in ConvertEnhancedCustomShapeEquation(SdrObjCustomShape const&, std::__debug::vector<EnhancedCustomShapeEquation, std::allocator<EnhancedCustomShapeEquation> >&, std::__debug::vector<int, std::allocator<int> >&) /filter/source/msfilter/escherex.cxx:2426:62
[...]

when accessing the already-dead EnhancedCustomShape2d object.

Change-Id: I8f3e598f81e8e01e2505483437025ddd4cee2ec9
2018-03-21 18:01:50 +01:00
..
2017-09-20 16:11:23 +02:00
2018-02-28 21:25:25 +01:00
2018-01-15 09:05:39 +01:00
2018-02-01 18:17:34 +01:00
2018-03-16 07:05:11 +01:00
2018-03-16 07:05:11 +01:00