[PATCH] Use OUString and sal_Int32 in filterText()
Christina Roßmanith (via_Code_Review)
gerrit at gerrit.libreoffice.org
Sat Mar 23 15:16:03 PDT 2013
Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/2956
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/56/2956/1
Use OUString and sal_Int32 in filterText()
Change-Id: I31437125b51b07be490de3d979e193fad9750f51
---
M vcl/generic/print/genpspgraphics.cxx
M vcl/inc/generic/genpspgraphics.h
M vcl/inc/salgdi.hxx
M vcl/source/gdi/outdev3.cxx
M vcl/source/gdi/salgdilayout.cxx
5 files changed, 20 insertions(+), 17 deletions(-)
diff --git a/vcl/generic/print/genpspgraphics.cxx b/vcl/generic/print/genpspgraphics.cxx
index 4149e41..773cf6e 100644
--- a/vcl/generic/print/genpspgraphics.cxx
+++ b/vcl/generic/print/genpspgraphics.cxx
@@ -1236,12 +1236,13 @@
pFontList->Add( pFD );
}
-bool GenPspGraphics::filterText( const rtl::OUString& rOrig, rtl::OUString& rNewText, xub_StrLen nIndex, xub_StrLen& rLen, xub_StrLen& rCutStart, xub_StrLen& rCutStop )
+bool GenPspGraphics::filterText( const rtl::OUString& rOrig, rtl::OUString& rNewText, sal_Int32 nIndex, sal_Int32& rLen, sal_Int32& rCutStart, sal_Int32& rCutStop )
{
if( ! m_pPhoneNr )
return false;
- rCutStop = rCutStart = STRING_NOTFOUND;
+ rNewText = rOrig;
+ rCutStop = rCutStart = -1;
#define FAX_PHONE_TOKEN "@@#"
#define FAX_PHONE_TOKEN_LENGTH 3
@@ -1261,7 +1262,7 @@
{
nStart = nPos;
m_bPhoneCollectionActive = true;
- m_aPhoneCollection = rtl::OUString();
+ m_aPhoneCollection = "";
bRet = true;
bStarted = true;
}
@@ -1287,13 +1288,13 @@
aPhoneNr.append( m_aPhoneCollection );
aPhoneNr.append( "</Fax#>" );
*m_pPhoneNr = aPhoneNr.makeStringAndClear();
- m_aPhoneCollection = rtl::OUString();
+ m_aPhoneCollection = "";
}
}
if( m_aPhoneCollection.getLength() > 1024 )
{
m_bPhoneCollectionActive = false;
- m_aPhoneCollection = rtl::OUString();
+ m_aPhoneCollection = "";
bRet = false;
}
@@ -1302,7 +1303,8 @@
rLen -= nStop - nStart;
rCutStart = nStart+nIndex;
rCutStop = nStop+nIndex;
- rNewText = ( rCutStart ? rOrig.copy( 0, rCutStart ) : rtl::OUString() ) + rOrig.copy( rCutStop );
+ if (rCutStart != rCutStop)
+ rNewText = ( rCutStart ? rOrig.copy( 0, rCutStart ) : rtl::OUString() ) + rOrig.copy( rCutStop );
}
return bRet && m_bSwallowFaxNo;
diff --git a/vcl/inc/generic/genpspgraphics.h b/vcl/inc/generic/genpspgraphics.h
index 99a2f35..36c0e60 100644
--- a/vcl/inc/generic/genpspgraphics.h
+++ b/vcl/inc/generic/genpspgraphics.h
@@ -175,7 +175,7 @@
virtual void invert( sal_uIntPtr nPoints, const SalPoint* pPtAry, SalInvert nFlags );
virtual sal_Bool drawEPS( long nX, long nY, long nWidth, long nHeight, void* pPtr, sal_uIntPtr nSize );
- virtual bool filterText( const rtl::OUString& rOrigText, rtl::OUString& rNewText, xub_StrLen nIndex, xub_StrLen& rLen, xub_StrLen& rCutStart, xub_StrLen& rCutStop );
+ virtual bool filterText( const rtl::OUString& rOrigText, rtl::OUString& rNewText, sal_Int32 nIndex, sal_Int32& rLen, sal_Int32& rCutStart, sal_Int32& rCutStop );
virtual bool drawAlphaBitmap( const SalTwoRect&,
const SalBitmap& rSourceBitmap,
diff --git a/vcl/inc/salgdi.hxx b/vcl/inc/salgdi.hxx
index ac2d036..21d7380 100644
--- a/vcl/inc/salgdi.hxx
+++ b/vcl/inc/salgdi.hxx
@@ -346,12 +346,8 @@
true: a substitution has taken place and rNewText rLen, rCutStart and rCutStop have been filled accordingly
false: no substitution has taken place, rNewText, rLen, rCutStart, rCutStop remain unchanged
*/
- virtual bool filterText( const rtl::OUString& rOrigText,
- rtl::OUString& rNewText,
- xub_StrLen nIndex,
- xub_StrLen& rLen,
- xub_StrLen& rCutStart,
- xub_StrLen& rCutStop );
+ virtual bool filterText( const rtl::OUString& rOrigText, rtl::OUString& rNewText,
+ sal_Int32 nIndex, sal_Int32& rLen, sal_Int32& rCutStart, sal_Int32& rCutStop );
virtual bool supportsOperation( OutDevSupportType ) const = 0;
diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx
index 565fcae..8287f09 100644
--- a/vcl/source/gdi/outdev3.cxx
+++ b/vcl/source/gdi/outdev3.cxx
@@ -5809,9 +5809,14 @@
// filter out special markers
if( bFilter )
{
- xub_StrLen nCutStart, nCutStop, nOrgLen = nLen;
- rtl::OUString aTmpStr(aStr);
- bool bFiltered = mpGraphics->filterText( rOrigStr, aTmpStr, nMinIndex, nLen, nCutStart, nCutStop );
+ sal_Int32 nCutStart, nCutStop, nOrgLen = nLen;
+ OUString aTmpStr(aStr);
+ OUString aTmpOrigStr(rOrigStr); // only needed until rOrigStr is OUString
+ sal_Int32 nMinIndex2=nMinIndex; // dito
+ sal_Int32 nLen2=nLen; // dito
+ bool bFiltered = mpGraphics->filterText( aTmpOrigStr, aTmpStr, nMinIndex2, nLen2, nCutStart, nCutStop );
+ nLen = nLen2; // dito
+ nMinIndex = nMinIndex2; // dito
aStr = aTmpStr;
if( !nLen )
return NULL;
diff --git a/vcl/source/gdi/salgdilayout.cxx b/vcl/source/gdi/salgdilayout.cxx
index bb1c55d..5b6ec44 100644
--- a/vcl/source/gdi/salgdilayout.cxx
+++ b/vcl/source/gdi/salgdilayout.cxx
@@ -752,7 +752,7 @@
return drawAlphaRect( nX, nY, nWidth, nHeight, nTransparency );
}
-bool SalGraphics::filterText( const rtl::OUString&, rtl::OUString&, xub_StrLen, xub_StrLen&, xub_StrLen&, xub_StrLen& )
+bool SalGraphics::filterText( const rtl::OUString&, rtl::OUString&, sal_Int32, sal_Int32&, sal_Int32&, sal_Int32& )
{
return false;
}
--
To view, visit https://gerrit.libreoffice.org/2956
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I31437125b51b07be490de3d979e193fad9750f51
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Christina Roßmanith <ChrRossmanith at web.de>
More information about the LibreOffice
mailing list