[Libreoffice] [PUSHED] Re: [PATCH] fdo#38832 Replace ScChangeActionTable with std::map.

Michael Stahl mstahl at redhat.com
Wed Dec 21 11:27:21 PST 2011

On 21/12/11 16:18, Marcel Metz wrote:
> Hello lo-devs,
> I've tested the patch with 'make check', but would like to point out
> that the reviewer should take special care of the change in
> 'sc/source/core/tool/chgtrack.cxx:3140-3160'. From my understanding
> of the code the tools Table does not allow multiple entires with the
> same key so that this assertion for double keys is not required but
> maybe I'm missing something.

i got the same understanding: Insert method does not insert duplicates
(and i read that std::map does the same).

pushed to master, with 2 small corrections:

this here inverted the logic, Get == 0 means not found:
-   if ( p != pAct && !rTable.Get( p->GetActionNumber() ) )
+   if ( p != pAct && rMap.find( p->GetActionNumber() ) != rMap.end() )

and in ScChangeTrack::Reject, the old code iterated from end to start
(dunno if that is important there, but why not use a reverse_iterator)

thanks for the patch!

More information about the LibreOffice mailing list