Index: source/ui/inc/formula.hxx =================================================================== RCS file: /cvs/sc/sc/source/ui/inc/formula.hxx,v retrieving revision 1.5 diff -u -r1.5 formula.hxx --- openoffice.org.orig/sc/source/ui/inc/formula.hxx 10 Apr 2008 22:56:36 -0000 1.5 +++ openoffice.org/sc/source/ui/inc/formula.hxx 4 Nov 2008 15:27:26 -0000 @@ -195,7 +195,7 @@ void UpdateFunctionDesc(); void ResizeArgArr( const ScFuncDesc* pNewFunc ); void FillListboxes(); - void FillControls(); + void FillControls(BOOL &rbNext, BOOL &rbPrev); xub_StrLen GetFunctionPos(xub_StrLen nPos); void UpdateTokenArray( const String& rStrExp); Index: source/ui/formdlg/formula.cxx =================================================================== RCS file: /cvs/sc/sc/source/ui/formdlg/formula.cxx,v retrieving revision 1.19 diff -u -r1.19 formula.cxx --- openoffice.org/sc/source/ui/formdlg/formula.cxx 14 May 2008 09:58:05 -0000 1.19 +++ openoffice.org/sc/source/ui/formdlg/formula.cxx 4 Nov 2008 15:27:26 -0000 @@ -439,8 +439,14 @@ void ScFormulaDlg::FillDialog(BOOL nFlag) { - if(nFlag) FillControls(); + BOOL bNext=TRUE, bPrev=TRUE; + if(nFlag) FillControls(bNext, bPrev); FillListboxes(); + if(nFlag) + { + aBtnBackward.Enable(bPrev); + aBtnForward.Enable(bNext); + } String aStrResult; @@ -498,7 +504,7 @@ SetUniqueId( nOldUnique ); } -void ScFormulaDlg::FillControls() +void ScFormulaDlg::FillControls(BOOL &rbNext, BOOL &rbPrev) { // Umschalten zwischen den "Seiten" @@ -593,12 +599,10 @@ // Test, ob vorne/hinten noch mehr Funktionen sind xub_StrLen nTempStart = ScFormulaUtil::GetArgStart( aFormula, nFStart, 0 ); - BOOL bNext = ScFormulaUtil::GetNextFunc( aFormula, FALSE, nTempStart ); + rbNext = ScFormulaUtil::GetNextFunc( aFormula, FALSE, nTempStart ); nTempStart=(xub_StrLen)pMEdit->GetSelection().Min(); pData->SetFStart(nTempStart); - BOOL bPrev = ScFormulaUtil::GetNextFunc( aFormula, TRUE, nTempStart ); - aBtnBackward.Enable(bPrev); - aBtnForward.Enable(bNext); + rbPrev = ScFormulaUtil::GetNextFunc( aFormula, TRUE, nTempStart ); } void ScFormulaDlg::ClearAllParas()