diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2017-06-19 09:32:45 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2017-06-19 09:38:05 +0200 |
commit | 1e3a00f0c772a76a1dd76b8272e2c35a1802d574 (patch) | |
tree | a1eadac1680f1e46c789964200aa8a61bb659189 /sc/source | |
parent | 9fe114e78f1285397dcd2a0d2e3d6afc3024fa66 (diff) |
Make SfxItemSet ranges correct by construction: Fix static cases
...with the aid of an extended compilerplugins/clang/store/sfxitemsetrewrite.cxx
(which in turn needed a small addition to compilerplugins/clang/check.hxx).
Enable svl::detail::validGap check for the static case, but keep it disabled for
now for the dynamic case.
Change-Id: I4846ba8e99aff94a86518e2cb5044e575093386e
Diffstat (limited to 'sc/source')
-rw-r--r-- | sc/source/core/data/stlsheet.cxx | 14 | ||||
-rw-r--r-- | sc/source/filter/starcalc/scflt.cxx | 14 | ||||
-rw-r--r-- | sc/source/ui/app/scmod.cxx | 49 | ||||
-rw-r--r-- | sc/source/ui/docshell/docsh3.cxx | 6 | ||||
-rw-r--r-- | sc/source/ui/drawfunc/drtxtob1.cxx | 12 | ||||
-rw-r--r-- | sc/source/ui/drawfunc/fuconcustomshape.cxx | 26 | ||||
-rw-r--r-- | sc/source/ui/pagedlg/tphf.cxx | 8 |
7 files changed, 65 insertions, 64 deletions
diff --git a/sc/source/core/data/stlsheet.cxx b/sc/source/core/data/stlsheet.cxx index a04cc9f00309..44bcacd17c2d 100644 --- a/sc/source/core/data/stlsheet.cxx +++ b/sc/source/core/data/stlsheet.cxx @@ -138,12 +138,14 @@ SfxItemSet& ScStyleSheet::GetItemSet() // (== Standard page template) SfxItemPool& rItemPool = GetPool().GetPool(); - pSet = new SfxItemSet( rItemPool, - svl::Items<ATTR_BACKGROUND, ATTR_BACKGROUND, - ATTR_BORDER, ATTR_SHADOW, - ATTR_LRSPACE, ATTR_PAGE_SCALETO, - ATTR_WRITINGDIR, ATTR_WRITINGDIR, - ATTR_USERDEF, ATTR_USERDEF>{} ); + pSet = new SfxItemSet( + rItemPool, + svl::Items< + ATTR_USERDEF, ATTR_USERDEF, + ATTR_WRITINGDIR, ATTR_WRITINGDIR, + ATTR_BACKGROUND, ATTR_BACKGROUND, + ATTR_BORDER, ATTR_SHADOW, + ATTR_LRSPACE, ATTR_PAGE_SCALETO>{} ); // If being loaded also the set is then filled in from the file, // so the defaults do not need to be set. diff --git a/sc/source/filter/starcalc/scflt.cxx b/sc/source/filter/starcalc/scflt.cxx index f07075e483a8..bd41c17c90f7 100644 --- a/sc/source/filter/starcalc/scflt.cxx +++ b/sc/source/filter/starcalc/scflt.cxx @@ -759,12 +759,14 @@ void Sc10PageCollection::PutToDoc( ScDocument* pDoc ) delete pObject; pSet->Put( aHeaderItem ); - SfxItemSet aSetItemItemSet( *pDoc->GetPool(), - svl::Items<ATTR_BACKGROUND, ATTR_BACKGROUND, - ATTR_BORDER, ATTR_SHADOW, - ATTR_PAGE_SIZE, ATTR_PAGE_SIZE, - ATTR_LRSPACE, ATTR_ULSPACE, - ATTR_PAGE_ON, ATTR_PAGE_SHARED>{} ); + SfxItemSet aSetItemItemSet( + *pDoc->GetPool(), + svl::Items< + ATTR_BACKGROUND, ATTR_BACKGROUND, + ATTR_BORDER, ATTR_SHADOW, + ATTR_LRSPACE, ATTR_ULSPACE, + ATTR_PAGE_SIZE, ATTR_PAGE_SIZE, + ATTR_PAGE_ON, ATTR_PAGE_SHARED>{}); nColor = pHeadFootLine->BackColor; Color aBColor( nColor.Red, nColor.Green, nColor.Blue ); nColor = pHeadFootLine->RasterColor; diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx index db4637665612..60324562b4d1 100644 --- a/sc/source/ui/app/scmod.cxx +++ b/sc/source/ui/app/scmod.cxx @@ -1930,32 +1930,29 @@ std::unique_ptr<SfxItemSet> ScModule::CreateItemSet( sal_uInt16 nId ) std::unique_ptr<SfxItemSet> pRet; if(SID_SC_EDITOPTIONS == nId) { - pRet = o3tl::make_unique<SfxItemSet>( GetPool(), - // TP_CALC: - svl::Items<SID_SCDOCOPTIONS, SID_SCDOCOPTIONS, - // TP_VIEW: - SID_SCVIEWOPTIONS, SID_SCVIEWOPTIONS, - SID_SC_OPT_SYNCZOOM, SID_SC_OPT_SYNCZOOM, - // TP_INPUT: - SID_SC_INPUT_SELECTION,SID_SC_INPUT_MARK_HEADER, - SID_SC_INPUT_TEXTWYSIWYG,SID_SC_INPUT_TEXTWYSIWYG, - SID_SC_INPUT_REPLCELLSWARN,SID_SC_INPUT_REPLCELLSWARN, - SID_SC_INPUT_LEGACY_CELL_SELECTION,SID_SC_OPT_SORT_REF_UPDATE, - // TP_USERLISTS: - SCITEM_USERLIST, SCITEM_USERLIST, - // TP_PRINT: - SID_SCPRINTOPTIONS, SID_SCPRINTOPTIONS, - // TP_GRID: - SID_ATTR_GRID_OPTIONS, SID_ATTR_GRID_OPTIONS, - - SID_ATTR_METRIC, SID_ATTR_METRIC, - SID_ATTR_DEFTABSTOP, SID_ATTR_DEFTABSTOP, - // TP_COMPATIBILITY - SID_SC_OPT_KEY_BINDING_COMPAT, SID_SC_OPT_KEY_BINDING_COMPAT, - // TP_DEFAULTS - SID_SCDEFAULTSOPTIONS, SID_SCDEFAULTSOPTIONS, - // TP_FORMULA - SID_SCFORMULAOPTIONS, SID_SCFORMULAOPTIONS>{} ); + pRet = o3tl::make_unique<SfxItemSet>( + GetPool(), + svl::Items< + // TP_USERLISTS: + SCITEM_USERLIST, SCITEM_USERLIST, + // TP_GRID: + SID_ATTR_GRID_OPTIONS, SID_ATTR_GRID_OPTIONS, + SID_ATTR_METRIC, SID_ATTR_METRIC, + SID_ATTR_DEFTABSTOP, SID_ATTR_DEFTABSTOP, + // TP_INPUT: + SID_SC_INPUT_LEGACY_CELL_SELECTION, SID_SC_OPT_SORT_REF_UPDATE, + // TP_FORMULA, TP_DEFAULTS: + SID_SCFORMULAOPTIONS, SID_SCDEFAULTSOPTIONS, + // TP_VIEW, TP_CALC: + SID_SCVIEWOPTIONS, SID_SCDOCOPTIONS, + // TP_PRINT: + SID_SCPRINTOPTIONS, SID_SCPRINTOPTIONS, + // TP_INPUT: + SID_SC_INPUT_SELECTION, SID_SC_INPUT_MARK_HEADER, + SID_SC_INPUT_TEXTWYSIWYG, SID_SC_INPUT_TEXTWYSIWYG, + SID_SC_INPUT_REPLCELLSWARN, SID_SC_INPUT_REPLCELLSWARN, + // TP_VIEW: + SID_SC_OPT_SYNCZOOM, SID_SC_OPT_KEY_BINDING_COMPAT>{}); const ScAppOptions& rAppOpt = GetAppOptions(); diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx index 25d137b30f53..e6b547a6ceee 100644 --- a/sc/source/ui/docshell/docsh3.cxx +++ b/sc/source/ui/docshell/docsh3.cxx @@ -644,10 +644,8 @@ void ScDocShell::ExecuteChangeCommentDialog( ScChangeAction* pAction, vcl::Windo aDate += " "; aDate += ScGlobal::pLocaleData->getTime( aDT, false ); - SfxItemSet aSet( GetPool(), - svl::Items<SID_ATTR_POSTIT_AUTHOR, SID_ATTR_POSTIT_AUTHOR, - SID_ATTR_POSTIT_DATE, SID_ATTR_POSTIT_DATE, - SID_ATTR_POSTIT_TEXT, SID_ATTR_POSTIT_TEXT>{} ); + SfxItemSet aSet( + GetPool(), svl::Items<SID_ATTR_POSTIT_AUTHOR, SID_ATTR_POSTIT_TEXT>{}); aSet.Put( SvxPostItTextItem ( aComment, SID_ATTR_POSTIT_TEXT ) ); aSet.Put( SvxPostItAuthorItem( aAuthor, SID_ATTR_POSTIT_AUTHOR ) ); diff --git a/sc/source/ui/drawfunc/drtxtob1.cxx b/sc/source/ui/drawfunc/drtxtob1.cxx index f6c1e339eb6b..bfe52a9d8156 100644 --- a/sc/source/ui/drawfunc/drtxtob1.cxx +++ b/sc/source/ui/drawfunc/drtxtob1.cxx @@ -71,13 +71,11 @@ bool ScDrawTextObjectBar::ExecuteParaDlg( const SfxItemSet& rArgs, SfxItemSet& rOutSet ) { SfxItemPool* pArgPool = rArgs.GetPool(); - SfxItemSet aNewAttr( *pArgPool, - svl::Items<EE_ITEMS_START, EE_ITEMS_END, - SID_ATTR_PARA_HYPHENZONE, SID_ATTR_PARA_HYPHENZONE, - SID_ATTR_PARA_PAGEBREAK, SID_ATTR_PARA_PAGEBREAK, - SID_ATTR_PARA_SPLIT, SID_ATTR_PARA_SPLIT, - SID_ATTR_PARA_WIDOWS, SID_ATTR_PARA_WIDOWS, - SID_ATTR_PARA_ORPHANS, SID_ATTR_PARA_ORPHANS>{} ); + SfxItemSet aNewAttr( + *pArgPool, + svl::Items< + EE_ITEMS_START, EE_ITEMS_END, + SID_ATTR_PARA_PAGEBREAK, SID_ATTR_PARA_WIDOWS>{}); aNewAttr.Put( rArgs ); // Values have been taken over once to show the dialog. diff --git a/sc/source/ui/drawfunc/fuconcustomshape.cxx b/sc/source/ui/drawfunc/fuconcustomshape.cxx index 9cc4cd982c8f..b1ff194f5a13 100644 --- a/sc/source/ui/drawfunc/fuconcustomshape.cxx +++ b/sc/source/ui/drawfunc/fuconcustomshape.cxx @@ -167,18 +167,20 @@ void FuConstCustomShape::SetAttributes( SdrObject* pObj ) if( pSourceObj ) { const SfxItemSet& rSource = pSourceObj->GetMergedItemSet(); - SfxItemSet aDest( pObj->GetModel()->GetItemPool(), // ranges from SdrAttrObj - svl::Items<SDRATTR_START, SDRATTR_SHADOW_LAST, - SDRATTR_MISC_FIRST, SDRATTR_MISC_LAST, - SDRATTR_TEXTDIRECTION, SDRATTR_TEXTDIRECTION, - // Graphic Attributes - SDRATTR_GRAF_FIRST, SDRATTR_GRAF_LAST, - // 3d Properties - SDRATTR_3D_FIRST, SDRATTR_3D_LAST, - // CustomShape properties - SDRATTR_CUSTOMSHAPE_FIRST, SDRATTR_CUSTOMSHAPE_LAST, - // range from SdrTextObj - EE_ITEMS_START, EE_ITEMS_END>{}); + SfxItemSet aDest( + pObj->GetModel()->GetItemPool(), + svl::Items< + // Ranges from SdrAttrObj: + SDRATTR_START, SDRATTR_SHADOW_LAST, + SDRATTR_MISC_FIRST, SDRATTR_MISC_LAST, + SDRATTR_TEXTDIRECTION, + SDRATTR_TEXTDIRECTION, + // Graphic attributes, 3D properties, + // CustomShape properties: + SDRATTR_GRAF_FIRST, + SDRATTR_CUSTOMSHAPE_LAST, + // Range from SdrTextObj: + EE_ITEMS_START, EE_ITEMS_END>{}); aDest.Set( rSource ); pObj->SetMergedItemSet( aDest ); sal_Int32 nAngle = pSourceObj->GetRotateAngle(); diff --git a/sc/source/ui/pagedlg/tphf.cxx b/sc/source/ui/pagedlg/tphf.cxx index 0c6c0b04a157..3392c16a9018 100644 --- a/sc/source/ui/pagedlg/tphf.cxx +++ b/sc/source/ui/pagedlg/tphf.cxx @@ -43,9 +43,11 @@ ScHFPage::ScHFPage( vcl::Window* pParent, const SfxItemSet& rSet, sal_uInt16 nSetId ) : SvxHFPage ( pParent, rSet, nSetId ), - aDataSet ( *rSet.GetPool(), - svl::Items<ATTR_PAGE_HEADERLEFT, ATTR_PAGE_FOOTERRIGHT, - ATTR_PAGE, ATTR_PAGE>{} ), + aDataSet( + *rSet.GetPool(), + svl::Items< + ATTR_PAGE, ATTR_PAGE, + ATTR_PAGE_HEADERLEFT, ATTR_PAGE_FOOTERRIGHT>{}), nPageUsage ( SvxPageUsage::All ), pStyleDlg ( nullptr ) { |