summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@suse.com>2011-11-04 01:03:27 -0400
committerKohei Yoshida <kohei.yoshida@suse.com>2011-11-04 22:40:27 -0400
commit9dd9e4baccc4009be524f6ab3070e7458138d82d (patch)
tree42a0867b0d2339e0f0f9e205101880ef55fd13c4 /sc
parent5ec42cf012ac22c44fc9864726f7cc5671b72274 (diff)
Remove direct access to the query string (pStr).
I'm about half-way through.
Diffstat (limited to 'sc')
-rw-r--r--sc/inc/queryparam.hxx3
-rw-r--r--sc/source/core/data/dociter.cxx15
-rw-r--r--sc/source/core/data/dpshttab.cxx6
-rw-r--r--sc/source/core/data/dptablecache.cxx18
-rw-r--r--sc/source/core/tool/doubleref.cxx4
-rw-r--r--sc/source/core/tool/queryparam.cxx15
-rw-r--r--sc/source/filter/excel/excimp8.cxx74
-rw-r--r--sc/source/filter/inc/excimp8.hxx2
-rw-r--r--sc/source/ui/unoobj/cellsuno.cxx6
-rw-r--r--sc/source/ui/unoobj/datauno.cxx38
10 files changed, 100 insertions, 81 deletions
diff --git a/sc/inc/queryparam.hxx b/sc/inc/queryparam.hxx
index 105a80180588..dd09aa36cffc 100644
--- a/sc/inc/queryparam.hxx
+++ b/sc/inc/queryparam.hxx
@@ -70,6 +70,9 @@ struct ScQueryEntry
// creates pSearchParam and pSearchText if necessary, always RegExp!
utl::TextSearch* GetSearchTextPtr( bool bCaseSens ) const;
+ bool MatchByString(const rtl::OUString& rStr) const;
+ SC_DLLPUBLIC void SetQueryString(const rtl::OUString& rStr);
+ SC_DLLPUBLIC rtl::OUString GetQueryString() const;
void Clear();
ScQueryEntry& operator=( const ScQueryEntry& r );
bool operator==( const ScQueryEntry& r ) const;
diff --git a/sc/source/core/data/dociter.cxx b/sc/source/core/data/dociter.cxx
index 632abf8743d0..aba2ac594d06 100644
--- a/sc/source/core/data/dociter.cxx
+++ b/sc/source/core/data/dociter.cxx
@@ -532,7 +532,7 @@ ScDBQueryDataIterator::DataAccessInternal::DataAccessInternal(const ScDBQueryDat
ScQueryEntry& rEntry = mpParam->GetEntry(i);
sal_uInt32 nIndex = 0;
rEntry.bQueryByString =
- !(mpDoc->GetFormatTable()->IsNumberFormat(*rEntry.pStr, nIndex, rEntry.nVal));
+ !(mpDoc->GetFormatTable()->IsNumberFormat(rEntry.GetQueryString(), nIndex, rEntry.nVal));
}
nNumFormat = 0; // werden bei GetNumberFormat initialisiert
pAttrArray = 0;
@@ -814,14 +814,11 @@ bool ScDBQueryDataIterator::DataAccessMatrix::isValidQuery(SCROW nRow, const ScM
// By string
do
{
- if (!rEntry.pStr)
- break;
-
// Equality check first.
OUString aMatStr = rMat.GetString(nField, nRow);
lcl_toUpper(aMatStr);
- OUString aQueryStr = *rEntry.pStr;
+ OUString aQueryStr = rEntry.GetQueryString();
lcl_toUpper(aQueryStr);
bool bDone = false;
switch (rEntry.eOp)
@@ -1108,8 +1105,8 @@ ScQueryCellIterator::ScQueryCellIterator(ScDocument* pDocument, SCTAB nTable,
ScQueryEntry& rEntry = aParam.GetEntry(i);
sal_uInt32 nIndex = 0;
rEntry.bQueryByString =
- !(pDoc->GetFormatTable()->IsNumberFormat(*rEntry.pStr,
- nIndex, rEntry.nVal));
+ !(pDoc->GetFormatTable()->IsNumberFormat(
+ rEntry.GetQueryString(), nIndex, rEntry.nVal));
}
}
nNumFormat = 0; // werden bei GetNumberFormat initialisiert
@@ -1415,7 +1412,7 @@ ScBaseCell* ScQueryCellIterator::BinarySearch()
sal_uLong nFormat = pCol->GetNumberFormat( pItems[nLo].nRow);
ScCellFormat::GetInputString( pItems[nLo].pCell, nFormat, aCellStr,
rFormatter);
- sal_Int32 nTmp = pCollator->compareString( aCellStr, *rEntry.pStr);
+ sal_Int32 nTmp = pCollator->compareString(aCellStr, rEntry.GetQueryString());
if ((rEntry.eOp == SC_LESS_EQUAL && nTmp > 0) ||
(rEntry.eOp == SC_GREATER_EQUAL && nTmp < 0) ||
(rEntry.eOp == SC_EQUAL && nTmp != 0))
@@ -1547,7 +1544,7 @@ ScBaseCell* ScQueryCellIterator::BinarySearch()
sal_uLong nFormat = pCol->GetNumberFormat( pItems[i].nRow);
ScCellFormat::GetInputString( pItems[i].pCell, nFormat, aCellStr,
rFormatter);
- nRes = pCollator->compareString( aCellStr, *rEntry.pStr);
+ nRes = pCollator->compareString( aCellStr, rEntry.GetQueryString());
if (nRes < 0 && bLessEqual)
{
sal_Int32 nTmp = pCollator->compareString( aLastInRangeString,
diff --git a/sc/source/core/data/dpshttab.cxx b/sc/source/core/data/dpshttab.cxx
index b65bb472dd21..ebac3507e2c0 100644
--- a/sc/source/core/data/dpshttab.cxx
+++ b/sc/source/core/data/dpshttab.cxx
@@ -78,7 +78,7 @@ ScSheetDPData::ScSheetDPData(ScDocument* pD, const ScSheetSourceDesc& rDesc, con
pSpecial[j] = false;
if (!rEntry.bQueryByString)
{
- if (*rEntry.pStr == EMPTY_STRING &&
+ if (rEntry.GetQueryString().isEmpty() &&
((rEntry.nVal == SC_EMPTYFIELDS) || (rEntry.nVal == SC_NONEMPTYFIELDS)))
pSpecial[j] = true;
}
@@ -86,8 +86,8 @@ ScSheetDPData::ScSheetDPData(ScDocument* pD, const ScSheetSourceDesc& rDesc, con
{
sal_uInt32 nIndex = 0;
rEntry.bQueryByString =
- !(pD->GetFormatTable()->
- IsNumberFormat(*rEntry.pStr, nIndex, rEntry.nVal));
+ !(pD->GetFormatTable()->IsNumberFormat(
+ rEntry.GetQueryString(), nIndex, rEntry.nVal));
}
}
}
diff --git a/sc/source/core/data/dptablecache.cxx b/sc/source/core/data/dptablecache.cxx
index 463ceb65ef34..8f9852d457e3 100644
--- a/sc/source/core/data/dptablecache.cxx
+++ b/sc/source/core/data/dptablecache.cxx
@@ -681,9 +681,9 @@ bool ScDPCache::ValidQuery( SCROW nRow, const ScQueryParam &rParam, bool *pSpeci
{
if (bMatchWholeCell)
{
- bOk = pTransliteration->isEqual( aCellStr, *rEntry.pStr );
- String aStr = *rEntry.pStr;
- sal_Bool bHasStar = false;
+ String aStr = rEntry.GetQueryString();
+ bOk = pTransliteration->isEqual(aCellStr, aStr);
+ bool bHasStar = false;
xub_StrLen nIndex;
if (( nIndex = aStr.Search('*') ) != STRING_NOTFOUND)
bHasStar = sal_True;
@@ -706,12 +706,10 @@ bool ScDPCache::ValidQuery( SCROW nRow, const ScQueryParam &rParam, bool *pSpeci
else
{
::com::sun::star::uno::Sequence< sal_Int32 > xOff;
- String aCell( pTransliteration->transliterate(
- aCellStr, ScGlobal::eLnge, 0, aCellStr.Len(),
- &xOff ) );
- String aQuer( pTransliteration->transliterate(
- *rEntry.pStr, ScGlobal::eLnge, 0, rEntry.pStr->Len(),
- &xOff ) );
+ String aCell = pTransliteration->transliterate(
+ aCellStr, ScGlobal::eLnge, 0, aCellStr.Len(), &xOff);
+ String aQuer = pTransliteration->transliterate(
+ rEntry.GetQueryString(), ScGlobal::eLnge, 0, rEntry.GetQueryString().getLength(), &xOff);
bOk = (aCell.Search( aQuer ) != STRING_NOTFOUND);
}
if (rEntry.eOp == SC_NOT_EQUAL)
@@ -720,7 +718,7 @@ bool ScDPCache::ValidQuery( SCROW nRow, const ScQueryParam &rParam, bool *pSpeci
else
{ // use collator here because data was probably sorted
sal_Int32 nCompare = pCollator->compareString(
- aCellStr, *rEntry.pStr );
+ aCellStr, rEntry.GetQueryString());
switch (rEntry.eOp)
{
case SC_LESS :
diff --git a/sc/source/core/tool/doubleref.cxx b/sc/source/core/tool/doubleref.cxx
index 5724c79715e2..417e28eeea08 100644
--- a/sc/source/core/tool/doubleref.cxx
+++ b/sc/source/core/tool/doubleref.cxx
@@ -141,8 +141,8 @@ bool lcl_createStarQuery(ScQueryParamBase* pParam, const ScDBRangeBase* pDBRef,
if (bValid)
{
// Finally, the right-hand-side value in the 4th column.
- *rEntry.pStr = pQueryRef->getString(3, nRow);
- rEntry.bDoQuery = sal_True;
+ rEntry.SetQueryString(pQueryRef->getString(3, nRow));
+ rEntry.bDoQuery = true;
}
nIndex++;
nRow++;
diff --git a/sc/source/core/tool/queryparam.cxx b/sc/source/core/tool/queryparam.cxx
index 78959267a936..ffa9b9439652 100644
--- a/sc/source/core/tool/queryparam.cxx
+++ b/sc/source/core/tool/queryparam.cxx
@@ -96,6 +96,21 @@ ScQueryEntry& ScQueryEntry::operator=( const ScQueryEntry& r )
return *this;
}
+bool ScQueryEntry::MatchByString(const rtl::OUString& rStr) const
+{
+ return rStr.equals(*pStr);
+}
+
+void ScQueryEntry::SetQueryString(const rtl::OUString& rStr)
+{
+ *pStr = String(rStr);
+}
+
+rtl::OUString ScQueryEntry::GetQueryString() const
+{
+ return *pStr;
+}
+
void ScQueryEntry::Clear()
{
bDoQuery = false;
diff --git a/sc/source/filter/excel/excimp8.cxx b/sc/source/filter/excel/excimp8.cxx
index a00aa16317a0..94e74ef8dd25 100644
--- a/sc/source/filter/excel/excimp8.cxx
+++ b/sc/source/filter/excel/excimp8.cxx
@@ -499,11 +499,11 @@ XclImpAutoFilterData::XclImpAutoFilterData( RootData* pRoot, const ScRange& rRan
}
-void XclImpAutoFilterData::CreateFromDouble( String& rStr, double fVal )
+void XclImpAutoFilterData::CreateFromDouble( rtl::OUString& rStr, double fVal )
{
- rStr += String( ::rtl::math::doubleToUString( fVal,
+ rStr += ::rtl::math::doubleToUString(fVal,
rtl_math_StringFormat_Automatic, rtl_math_DecimalPlaces_Max,
- ScGlobal::pLocaleData->getNumDecimalSep().GetChar(0), sal_True));
+ ScGlobal::pLocaleData->getNumDecimalSep().GetChar(0), true);
}
void XclImpAutoFilterData::SetCellAttribs()
@@ -540,34 +540,34 @@ void XclImpAutoFilterData::InsertQueryParam()
static void ExcelQueryToOooQuery( ScQueryEntry& rEntry )
{
- if( ( rEntry.eOp != SC_EQUAL && rEntry.eOp != SC_NOT_EQUAL ) || rEntry.pStr == NULL )
+ if (rEntry.eOp != SC_EQUAL && rEntry.eOp != SC_NOT_EQUAL)
return;
- else
+
+ String aStr = rEntry.GetQueryString();
+ xub_StrLen nLen = aStr.Len();
+ sal_Unicode nStart = aStr.GetChar( 0 );
+ sal_Unicode nEnd = aStr.GetChar( nLen-1 );
+ if( nLen >2 && nStart == '*' && nEnd == '*' )
{
- xub_StrLen nLen = rEntry.pStr->Len();
- sal_Unicode nStart = rEntry.pStr->GetChar( 0 );
- sal_Unicode nEnd = rEntry.pStr->GetChar( nLen-1 );
- if( nLen >2 && nStart == '*' && nEnd == '*' )
- {
- rEntry.pStr->Erase( nLen-1, 1 );
- rEntry.pStr->Erase( 0, 1 );
- rEntry.eOp = ( rEntry.eOp == SC_EQUAL ) ? SC_CONTAINS : SC_DOES_NOT_CONTAIN;
- }
- else if( nLen > 1 && nStart == '*' && nEnd != '*' )
- {
- rEntry.pStr->Erase( 0, 1 );
- rEntry.eOp = ( rEntry.eOp == SC_EQUAL ) ? SC_ENDS_WITH : SC_DOES_NOT_END_WITH;
- }
- else if( nLen > 1 && nStart != '*' && nEnd == '*' )
- {
- rEntry.pStr->Erase( nLen-1, 1 );
- rEntry.eOp = ( rEntry.eOp == SC_EQUAL ) ? SC_BEGINS_WITH : SC_DOES_NOT_BEGIN_WITH;
- }
- else if( nLen == 2 && nStart == '*' && nEnd == '*' )
- {
- rEntry.pStr->Erase( 0, 1 );
- }
+ aStr.Erase( nLen-1, 1 );
+ aStr.Erase( 0, 1 );
+ rEntry.eOp = ( rEntry.eOp == SC_EQUAL ) ? SC_CONTAINS : SC_DOES_NOT_CONTAIN;
+ }
+ else if( nLen > 1 && nStart == '*' && nEnd != '*' )
+ {
+ aStr.Erase( 0, 1 );
+ rEntry.eOp = ( rEntry.eOp == SC_EQUAL ) ? SC_ENDS_WITH : SC_DOES_NOT_END_WITH;
+ }
+ else if( nLen > 1 && nStart != '*' && nEnd == '*' )
+ {
+ aStr.Erase( nLen-1, 1 );
+ rEntry.eOp = ( rEntry.eOp == SC_EQUAL ) ? SC_BEGINS_WITH : SC_DOES_NOT_BEGIN_WITH;
+ }
+ else if( nLen == 2 && nStart == '*' && nEnd == '*' )
+ {
+ aStr.Erase( 0, 1 );
}
+ rEntry.SetQueryString(aStr);
}
void XclImpAutoFilterData::ReadAutoFilter( XclImpStream& rStrm )
@@ -593,7 +593,7 @@ void XclImpAutoFilterData::ReadAutoFilter( XclImpStream& rStrm )
aEntry.eOp = bTopOfTop10 ?
(bPercent ? SC_TOPPERC : SC_TOPVAL) : (bPercent ? SC_BOTPERC : SC_BOTVAL);
aEntry.eConnect = SC_AND;
- aEntry.pStr->Assign( String::CreateFromInt32( (sal_Int32) nCntOfTop10 ) );
+ aEntry.SetQueryString(rtl::OUString::valueOf(static_cast<sal_Int32>(nCntOfTop10)));
rStrm.Ignore( 20 );
nFirstEmpty++;
@@ -642,27 +642,33 @@ void XclImpAutoFilterData::ReadAutoFilter( XclImpStream& rStrm )
aEntry.eOp = SC_EQUAL;
}
+ rtl::OUString aStr;
+
switch( nType )
{
case EXC_AFTYPE_RK:
rStrm >> nRK;
rStrm.Ignore( 4 );
- CreateFromDouble( *aEntry.pStr, XclTools::GetDoubleFromRK( nRK ) );
+ aStr = aEntry.GetQueryString();
+ CreateFromDouble(aStr, XclTools::GetDoubleFromRK(nRK));
+ aEntry.SetQueryString(aStr);
break;
case EXC_AFTYPE_DOUBLE:
rStrm >> fVal;
- CreateFromDouble( *aEntry.pStr, fVal );
+ aStr = aEntry.GetQueryString();
+ CreateFromDouble(aStr, fVal);
+ aEntry.SetQueryString(aStr);
break;
case EXC_AFTYPE_STRING:
rStrm.Ignore( 4 );
rStrm >> nStrLen[ nE ];
rStrm.Ignore( 3 );
- aEntry.pStr->Erase();
+ aEntry.SetQueryString(rtl::OUString());
break;
case EXC_AFTYPE_BOOLERR:
rStrm >> nBoolErr >> nVal;
rStrm.Ignore( 6 );
- aEntry.pStr->Assign( String::CreateFromInt32( (sal_Int32) nVal ) );
+ aEntry.SetQueryString(rtl::OUString::valueOf(static_cast<sal_Int32>(nVal)));
bIgnore = (sal_Bool) nBoolErr;
break;
case EXC_AFTYPE_EMPTY:
@@ -704,7 +710,7 @@ void XclImpAutoFilterData::ReadAutoFilter( XclImpStream& rStrm )
for( nE = 0; nE < 2; nE++ )
if( nStrLen[ nE ] && pQueryEntries[ nE ] )
{
- pQueryEntries[ nE ]->pStr->Assign ( rStrm.ReadUniString( nStrLen[ nE ] ) );
+ pQueryEntries[nE]->SetQueryString(rStrm.ReadUniString(nStrLen[nE]));
ExcelQueryToOooQuery( *pQueryEntries[ nE ] );
}
diff --git a/sc/source/filter/inc/excimp8.hxx b/sc/source/filter/inc/excimp8.hxx
index eb441f3f84c9..6a9b36f0a196 100644
--- a/sc/source/filter/inc/excimp8.hxx
+++ b/sc/source/filter/inc/excimp8.hxx
@@ -107,7 +107,7 @@ private:
sal_Bool bAutoOrAdvanced;
ScRange aCriteriaRange;
- void CreateFromDouble( String& rStr, double fVal );
+ void CreateFromDouble( rtl::OUString& rStr, double fVal );
void SetCellAttribs();
void InsertQueryParam();
void AmendAFName(const sal_Bool bUseUnNamed);
diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx
index aa45cc0ec816..e6e1d3277495 100644
--- a/sc/source/ui/unoobj/cellsuno.cxx
+++ b/sc/source/ui/unoobj/cellsuno.cxx
@@ -5677,8 +5677,12 @@ void SAL_CALL ScCellRangeObj::filter( const uno::Reference<sheet::XSheetFilterDe
rEntry.nField += nFieldStart;
// Im Dialog wird immer der String angezeigt -> muss zum Wert passen
if ( !rEntry.bQueryByString )
+ {
+ rtl::OUString aStr;
pDocSh->GetDocument()->GetFormatTable()->
- GetInputLineString( rEntry.nVal, 0, *rEntry.pStr );
+ GetInputLineString(rEntry.nVal, 0, aStr);
+ rEntry.SetQueryString(aStr);
+ }
}
}
diff --git a/sc/source/ui/unoobj/datauno.cxx b/sc/source/ui/unoobj/datauno.cxx
index 62db49e4f3d8..9a6e4a02c95d 100644
--- a/sc/source/ui/unoobj/datauno.cxx
+++ b/sc/source/ui/unoobj/datauno.cxx
@@ -1072,19 +1072,19 @@ void ScFilterDescriptorBase::fillQueryParam(
for (i=0; i<nCount; i++)
{
ScQueryEntry& rEntry = rParam.GetEntry(i);
- if (!rEntry.pStr)
- rEntry.pStr = new String; // sollte nicht sein (soll immer initialisiert sein)
rEntry.bDoQuery = sal_True;
rEntry.eConnect = (pAry[i].Connection == sheet::FilterConnection_AND) ? SC_AND : SC_OR;
rEntry.nField = pAry[i].Field;
rEntry.bQueryByString = !pAry[i].IsNumeric;
- *rEntry.pStr = String( pAry[i].StringValue );
rEntry.nVal = pAry[i].NumericValue;
+ rEntry.SetQueryString(pAry[i].StringValue);
if (!rEntry.bQueryByString && pDoc)
{
- pDoc->GetFormatTable()->GetInputLineString(rEntry.nVal, 0, *rEntry.pStr);
+ rtl::OUString aStr;
+ pDoc->GetFormatTable()->GetInputLineString(rEntry.nVal, 0, aStr);
+ rEntry.SetQueryString(aStr);
}
switch (pAry[i].Operator) // FilterOperator
@@ -1110,7 +1110,7 @@ void ScFilterDescriptorBase::fillQueryParam(
rEntry.eOp = SC_EQUAL;
rEntry.nVal = SC_EMPTYFIELDS;
rEntry.bQueryByString = false;
- *rEntry.pStr = EMPTY_STRING;
+ rEntry.SetQueryString(rtl::OUString());
}
break;
case sheet::FilterOperator2::NOT_EMPTY:
@@ -1118,7 +1118,7 @@ void ScFilterDescriptorBase::fillQueryParam(
rEntry.eOp = SC_EQUAL;
rEntry.nVal = SC_NONEMPTYFIELDS;
rEntry.bQueryByString = false;
- *rEntry.pStr = EMPTY_STRING;
+ rEntry.SetQueryString(rtl::OUString());
}
break;
default:
@@ -1180,9 +1180,7 @@ uno::Sequence<sheet::TableFilterField> SAL_CALL ScFilterDescriptorBase::getFilte
{
const ScQueryEntry& rEntry = aParam.GetEntry(i);
- rtl::OUString aStringValue;
- if (rEntry.pStr)
- aStringValue = *rEntry.pStr;
+ rtl::OUString aStringValue = rEntry.GetQueryString();
aField.Connection = (rEntry.eConnect == SC_AND) ? sheet::FilterConnection_AND :
sheet::FilterConnection_OR;
@@ -1196,7 +1194,7 @@ uno::Sequence<sheet::TableFilterField> SAL_CALL ScFilterDescriptorBase::getFilte
case SC_EQUAL:
{
aField.Operator = sheet::FilterOperator_EQUAL;
- if (!rEntry.bQueryByString && *rEntry.pStr == EMPTY_STRING)
+ if (!rEntry.bQueryByString && rEntry.GetQueryString().isEmpty())
{
if (rEntry.nVal == SC_EMPTYFIELDS)
{
@@ -1249,9 +1247,7 @@ throw(uno::RuntimeException)
{
const ScQueryEntry& rEntry = aParam.GetEntry(i);
- rtl::OUString aStringValue;
- if (rEntry.pStr)
- aStringValue = *rEntry.pStr;
+ rtl::OUString aStringValue = rEntry.GetQueryString();
aField.Connection = (rEntry.eConnect == SC_AND) ? sheet::FilterConnection_AND : sheet::FilterConnection_OR;
aField.Field = rEntry.nField;
@@ -1264,7 +1260,7 @@ throw(uno::RuntimeException)
case SC_EQUAL:
{
aField.Operator = sheet::FilterOperator2::EQUAL;
- if (!rEntry.bQueryByString && *rEntry.pStr == EMPTY_STRING)
+ if (!rEntry.bQueryByString && rEntry.GetQueryString().isEmpty())
{
if (rEntry.nVal == SC_EMPTYFIELDS)
{
@@ -1319,19 +1315,19 @@ void SAL_CALL ScFilterDescriptorBase::setFilterFields(
for (i=0; i<nCount; i++)
{
ScQueryEntry& rEntry = aParam.GetEntry(i);
- if (!rEntry.pStr)
- rEntry.pStr = new String; // sollte nicht sein (soll immer initialisiert sein)
- rEntry.bDoQuery = sal_True;
+ rEntry.bDoQuery = true;
rEntry.eConnect = (pAry[i].Connection == sheet::FilterConnection_AND) ? SC_AND : SC_OR;
rEntry.nField = pAry[i].Field;
rEntry.bQueryByString = !pAry[i].IsNumeric;
- *rEntry.pStr = String( pAry[i].StringValue );
rEntry.nVal = pAry[i].NumericValue;
+ rEntry.SetQueryString(pAry[i].StringValue);
if (!rEntry.bQueryByString && pDocSh)
{
- pDocSh->GetDocument()->GetFormatTable()->GetInputLineString(rEntry.nVal, 0, *rEntry.pStr);
+ rtl::OUString aStr;
+ pDocSh->GetDocument()->GetFormatTable()->GetInputLineString(rEntry.nVal, 0, aStr);
+ rEntry.SetQueryString(aStr);
}
switch (pAry[i].Operator) // FilterOperator
@@ -1351,7 +1347,7 @@ void SAL_CALL ScFilterDescriptorBase::setFilterFields(
rEntry.eOp = SC_EQUAL;
rEntry.nVal = SC_EMPTYFIELDS;
rEntry.bQueryByString = false;
- *rEntry.pStr = EMPTY_STRING;
+ rEntry.SetQueryString(rtl::OUString());
}
break;
case sheet::FilterOperator_NOT_EMPTY:
@@ -1359,7 +1355,7 @@ void SAL_CALL ScFilterDescriptorBase::setFilterFields(
rEntry.eOp = SC_EQUAL;
rEntry.nVal = SC_NONEMPTYFIELDS;
rEntry.bQueryByString = false;
- *rEntry.pStr = EMPTY_STRING;
+ rEntry.SetQueryString(rtl::OUString());
}
break;
default: