[Libreoffice] Possible little code simplification

Ivan Timofeev timofeev.i.s at gmail.com
Thu Nov 24 10:07:50 PST 2011


Hi all,

we have the field 'SwSortedObjs* pSortedObjs' in the class SwPageFrm.
And we have the strange management of it:

For example, sw/source/core/layout/flylay.cxx:734

    if ( pSortedObjs )
    {
        pSortedObjs->Remove( *pToRemove );
        if ( !pSortedObjs->Count() )
        {   DELETEZ( pSortedObjs );
        }
    }

i.e. we delete pSortedObjs every time it is empty, and create it again
when we want to add something into it. This entails annoying checks,
like

    if ( pPage->GetSortedObjs() )
        // [loop over pSortedObjs]

What do you think about changing the code so that pSortedObjs will be
alive every time? We will be able to return a reference to pSortedObjs
in GetSortedObjs() instead of a pointer and remove the mentioned
checks (there are a lot of such checks). I could do this. :-)

Same problem with the field 'SwSortedObjs* pDrawObjs' in the class SwFrm.

All the best,
    Ivan


More information about the LibreOffice mailing list