diff -uNr sw.old/source/ui/dbui/mmaddressblockpage.cxx sw.new/source/ui/dbui/mmaddressblockpage.cxx --- sw.old/source/ui/dbui/mmaddressblockpage.cxx 2007-09-05 16:38:46.000000000 +0800 +++ sw.new/source/ui/dbui/mmaddressblockpage.cxx 2007-09-05 16:41:32.000000000 +0800 @@ -460,15 +460,13 @@ uno::Sequence< ::rtl::OUString >aTemp = m_aAddressBlocks; ::rtl::OUString* pTemp = aTemp.getArray(); pTemp[0] = m_aAddressBlocks[nSelect]; - sal_uInt32 nIndex = 1; + sal_uInt32 nIndex = 0; const sal_uInt32 nNumBlocks = m_aAddressBlocks.getLength(); for(sal_uInt32 nAddress = 1; nAddress < nNumBlocks; ++nAddress) { if(nIndex == nSelect) - { ++nIndex; - pTemp[nAddress] = m_aAddressBlocks[nIndex]; - } + pTemp[nAddress] = m_aAddressBlocks[nIndex]; } m_aAddressBlocks = aTemp; } @@ -487,6 +485,9 @@ } else m_aNeverRB.Check(); + + if(m_aAddressBlocks.getLength()<=1) ++ m_aDeletePB.Enable(sal_False); } /*-- 10.05.2004 11:17:06--------------------------------------------------- @@ -554,6 +555,9 @@ m_aAddressBlocks[nSelect] = sNew; m_aPreview.SelectAddress(nSelect); } + + if(m_aAddressBlocks.getLength()>1) ++ m_aDeletePB.Enable(); } delete pDlg; return 0;