[PATCH] Resolves: fdo#37044 two different TransliterationChgData structs
Caolán McNamara
caolanm at redhat.com
Thu May 10 02:15:34 PDT 2012
There are two structs called TransliterationChgData with different
layout. The crashes on MacOSX must be due to this. Rename them
so they've different names.
Change-Id: I887a33bed26b339e229b7fb1ef8dddd192f6fae3
(cherry picked from commit 7080d629c82422a419d38051536c7711f8abe53e)
Conflicts:
editeng/source/editeng/impedit4.cxx
---
editeng/source/editeng/impedit4.cxx | 25 +++++++++++++------------
sw/source/core/txtnode/txtedt.cxx | 21 ++++++++++++---------
2 files changed, 25 insertions(+), 21 deletions(-)
diff --git a/editeng/source/editeng/impedit4.cxx b/editeng/source/editeng/impedit4.cxx
index ff441f1..5b80c17 100644
--- a/editeng/source/editeng/impedit4.cxx
+++ b/editeng/source/editeng/impedit4.cxx
@@ -2659,16 +2659,17 @@ void ImpEditEngine::SetAutoCompleteText( const String& rStr, sal_Bool bClearTipW
Help::ShowQuickHelp( pActiveView->GetWindow(), Rectangle(), String(), 0 );
}
-
-struct TransliterationChgData
+namespace
{
- sal_uInt16 nStart;
- xub_StrLen nLen;
- EditSelection aSelection;
- String aNewText;
- uno::Sequence< sal_Int32 > aOffsets;
-};
-
+ struct eeTransliterationChgData
+ {
+ sal_uInt16 nStart;
+ xub_StrLen nLen;
+ EditSelection aSelection;
+ String aNewText;
+ uno::Sequence< sal_Int32 > aOffsets;
+ };
+}
EditSelection ImpEditEngine::TransliterateText( const EditSelection& rSelection, sal_Int32 nTransliterationMode )
{
@@ -2721,8 +2722,8 @@ EditSelection ImpEditEngine::TransliterateText( const EditSelection& rSelection,
//! This way the offsets for the yet to be changed words will be
//! left unchanged by the already replaced text.
//! For this we temporarily save the changes to be done in this vector
- std::vector< TransliterationChgData > aChanges;
- TransliterationChgData aChgData;
+ std::vector< eeTransliterationChgData > aChanges;
+ eeTransliterationChgData aChgData;
if (nTransliterationMode == i18n::TransliterationModulesExtra::TITLE_CASE)
{
@@ -2945,7 +2946,7 @@ EditSelection ImpEditEngine::TransliterateText( const EditSelection& rSelection,
// yet unchanged text parts remain the same.
for (size_t i = 0; i < aChanges.size(); ++i)
{
- const TransliterationChgData &rData = aChanges[ aChanges.size() - 1 - i ];
+ const eeTransliterationChgData& rData = aChanges[ aChanges.size() - 1 - i ];
bChanges = sal_True;
if (rData.nLen != rData.aNewText.Len())
diff --git a/sw/source/core/txtnode/txtedt.cxx b/sw/source/core/txtnode/txtedt.cxx
index 186d4ea..d153212 100644
--- a/sw/source/core/txtnode/txtedt.cxx
+++ b/sw/source/core/txtnode/txtedt.cxx
@@ -1498,13 +1498,16 @@ sal_Bool SwTxtNode::Hyphenate( SwInterHyphInfo &rHyphInf )
return sal_False;
}
-struct TransliterationChgData
+namespace
{
- xub_StrLen nStart;
- xub_StrLen nLen;
- String sChanged;
- Sequence< sal_Int32 > aOffsets;
-};
+ struct swTransliterationChgData
+ {
+ xub_StrLen nStart;
+ xub_StrLen nLen;
+ String sChanged;
+ Sequence< sal_Int32 > aOffsets;
+ };
+}
// change text to Upper/Lower/Hiragana/Katagana/...
void SwTxtNode::TransliterateText(
@@ -1527,8 +1530,8 @@ void SwTxtNode::TransliterateText(
//! This way the offsets for the yet to be changed words will be
//! left unchanged by the already replaced text.
//! For this we temporarily save the changes to be done in this vector
- std::vector< TransliterationChgData > aChanges;
- TransliterationChgData aChgData;
+ std::vector< swTransliterationChgData > aChanges;
+ swTransliterationChgData aChgData;
if (rTrans.getType() == (sal_uInt32)TransliterationModulesExtra::TITLE_CASE)
{
@@ -1732,7 +1735,7 @@ void SwTxtNode::TransliterateText(
// yet unchanged text parts remain the same.
for (size_t i = 0; i < aChanges.size(); ++i)
{
- TransliterationChgData &rData = aChanges[ aChanges.size() - 1 - i ];
+ swTransliterationChgData &rData = aChanges[ aChanges.size() - 1 - i ];
if (pUndo)
pUndo->AddChanges( *this, rData.nStart, rData.nLen, rData.aOffsets );
ReplaceTextOnly( rData.nStart, rData.nLen, rData.sChanged, rData.aOffsets );
--
1.7.7.6
--=-DReccY+vPRs9bZ9zJwPE--
More information about the LibreOffice
mailing list