summaryrefslogtreecommitdiff
path: root/vcl/ios/DataFlavorMapping.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/ios/DataFlavorMapping.cxx')
-rw-r--r--vcl/ios/DataFlavorMapping.cxx11
1 files changed, 9 insertions, 2 deletions
diff --git a/vcl/ios/DataFlavorMapping.cxx b/vcl/ios/DataFlavorMapping.cxx
index 14bf0f6f43d7..607f110222bb 100644
--- a/vcl/ios/DataFlavorMapping.cxx
+++ b/vcl/ios/DataFlavorMapping.cxx
@@ -421,10 +421,17 @@ NSString* DataFlavorMapper::openOfficeToSystemFlavor(const DataFlavor& oOOFlavor
OfficeOnlyTypes::const_iterator it = maOfficeOnlyTypes.find(oOOFlavor.MimeType);
if (it == maOfficeOnlyTypes.end())
- sysFlavor = maOfficeOnlyTypes[oOOFlavor.MimeType]
- = OUStringToNSString(oOOFlavor.MimeType);
+ {
+ // tdf#161461 stop crashing by retaining NSString
+ // OUStringToNSString() returns an autoreleased NSString so it
+ // needs to be retained for the life of maOfficeOnlyTypes.
+ sysFlavor = maOfficeOnlyTypes[oOOFlavor.MimeType] =
+ [OUStringToNSString(oOOFlavor.MimeType) retain];
+ }
else
+ {
sysFlavor = it->second;
+ }
}
return sysFlavor;