Kaydet (Commit) 5fa44620 authored tarafından Caolán McNamara's avatar Caolán McNamara

ofz#7861 fuzzer ooms

too many frequent tiny allocations in a short time span I believe

Change-Id: Iaccae6db7d18c9cd2f909f94dbe81a7dc6458bc2
Reviewed-on: https://gerrit.libreoffice.org/53589Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst af1c5b95
......@@ -162,7 +162,7 @@ public:
void Move(const Point &rPosition);
void MoveTo(const Point &rPosition) { Move(rPosition - GetTopLeft()); }
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) = 0;
virtual void CreateTextFromNode(OUString &rText);
virtual void CreateTextFromNode(OUStringBuffer &rText);
virtual void GetAccessibleText( OUStringBuffer &rText ) const = 0;
sal_Int32 GetAccessibleIndex() const { return mnAccIndex; }
......@@ -333,7 +333,7 @@ public:
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override;
void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override;
};
......@@ -414,7 +414,7 @@ public:
virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) override;
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
virtual void CreateTextFromNode(OUString &rText) override;
virtual void CreateTextFromNode(OUStringBuffer &rText) override;
virtual void GetAccessibleText( OUStringBuffer &rText ) const override;
void Accept(SmVisitor* pVisitor) override;
......@@ -494,7 +494,7 @@ public:
virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) override;
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override;
void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override;
};
......@@ -651,7 +651,7 @@ public:
{}
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override;
void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override;
};
......@@ -693,7 +693,7 @@ public:
}
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override;
void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override;
SmNode* Argument();
......@@ -759,7 +759,7 @@ public:
virtual const SmNode * GetLeftMost() const override;
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override;
void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override;
};
......@@ -869,7 +869,7 @@ public:
void SetSubSup(SmSubSup eSubSup, SmNode* pScript) { SetSubNode( 1 + eSubSup, pScript); }
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override;
void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override;
};
......@@ -904,7 +904,7 @@ public:
const SmMathSymbolNode* ClosingBrace() const;
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override;
void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override;
};
......@@ -1035,7 +1035,7 @@ public:
{}
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override;
void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override;
SmNode* Attribute();
......@@ -1068,7 +1068,7 @@ public:
virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) override;
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override;
void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override;
};
......@@ -1098,7 +1098,7 @@ public:
virtual const SmNode * GetLeftMost() const override;
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void CreateTextFromNode(OUString &rText) override;
void CreateTextFromNode(OUStringBuffer &rText) override;
void Accept(SmVisitor* pVisitor) override;
};
......@@ -1126,7 +1126,7 @@ public:
virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell, int nDepth) override;
virtual void Arrange(OutputDevice &rDev, const SmFormat &rFormat) override;
void Accept(SmVisitor* pVisitor) override;
virtual void CreateTextFromNode(OUString &rText) override;
virtual void CreateTextFromNode(OUStringBuffer &rText) override;
};
......
......@@ -515,9 +515,11 @@ void SmXMLImport::endDocument()
pDocShell->SetFormulaTree(static_cast<SmTableNode *>(pTree));
if (aText.isEmpty()) //If we picked up no annotation text
{
OUStringBuffer aStrBuf;
// Get text from imported formula
pTree->CreateTextFromNode(aText);
aText = comphelper::string::stripEnd(aText, ' ');
pTree->CreateTextFromNode(aStrBuf);
aStrBuf.stripEnd(' ');
aText = aStrBuf.makeStringAndClear();
}
// Convert symbol names
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment