On 10/13/2010 09:35, Michael Stahl wrote:

hi all,

i am reviewing a patch by Bartosz, who is working on replacing SvArrays.

this patch is about the SfxItemPool and should solve issue #i84159#:
http://hg.services.openoffice.org/hg/cws/svarray/rev/df7b4d57529a

this changes the method in poolio.cxx:
SvStream&SfxItemPool::Store(SvStream&rStream) const

i noticed that this here writes the number of items into a stream:

     4.12 @@ -229,7 +229,7 @@
     4.13                                       
aWhichIdsRec.NewContent(nSlotId, 0);
     4.14                                       rStream<<  
(*ppDefItem)->Which();
     4.15                                       rStream<<  nItemVersion;
     4.16 -                                     const USHORT nCount = 
(*pArr)->Count();
     4.17 +                                     const USHORT nCount = 
(*pArr)->size();
     4.18                                       DBG_ASSERT(nCount, "ItemArr ist 
leer");
     4.19                                       rStream<<  nCount;
     4.20

because the new *pArr is an STL container, this should be a size_t, not an
USHORT.
but writing that to the stream would of course be a change of the
serialization format.

does anybody know where (or if) this method is still called?
i was of course suspecting the dreaded binfilter to call it, but actually
binfilter seems to have its own svtools copy complete with item pools, so
that can't be it.

OpenGrok finds 138 definitions of a "Store" method, and 479 callers.
now, if it were possible to parse C++, perhaps i would know which of these
call this particular Store...

in case it is still called, what should be done to introduce a new
incompatible version here?

regards,
  michael

"ItemArr ist leer"? Übersetzen Sie, bitte.
--
/tj/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.org
For additional commands, e-mail: dev-h...@openoffice.org

Reply via email to