Discrepancy between SfxItemSet::SET and com::sun::star::frame::status::ItemState::SET

Takeshi Abe tabe at fixedpoint.jp
Tue Oct 17 02:00:44 UTC 2017


Hi Eike,

Thank you for checking it in depth.

On Mon, 16 Oct 2017 14:18:05 +0200, Eike Rathke <erack at redhat.com> wrote:
> Indeed the old SET value of 0x0030 being DONTCARE|DEFAULT doesn't make
> much sense. A SET value may not only indicate a non-default pool item
> value, but also an explicitly set default value of the pool item, hence
> maybe the DEFAULT bit value, but DONTCARE doesn't fit there, it looks
> like that or'ed mask never was intended and no place uses it.
> 
> I checked places with SfxItemState::SET that do not use == or != or
> assignments or return, leaving comparisons with < or <= or >, and these
> seem not to rely on the bit value.
> 
> Also places that use SfxItemState::DEFAULT or SfxItemState::DONTCARE
> don't use a bit mask to extract a value, so we seem to be good.
Got it.

> 
> I'll push the patch.
> 
> Last, even the comment at SfxItemState says "These values have to match
> the values in the css::frame::status::ItemState IDL" ...
> Maybe the SfxItemState values should be initialized using the IDL
> constants as a follow-up.
I haven't thought about that option, thanks for pointing it out.
BTW will using IDL constants result in svl's depending on the offapi module?

Cheers,
-- Takeshi Abe


More information about the LibreOffice mailing list