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 <chrrossman...@web.de> _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice