summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2017-06-19 09:32:45 +0200
committerStephan Bergmann <sbergman@redhat.com>2017-06-19 09:38:05 +0200
commit1e3a00f0c772a76a1dd76b8272e2c35a1802d574 (patch)
treea1eadac1680f1e46c789964200aa8a61bb659189 /sc/source
parent9fe114e78f1285397dcd2a0d2e3d6afc3024fa66 (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.cxx14
-rw-r--r--sc/source/filter/starcalc/scflt.cxx14
-rw-r--r--sc/source/ui/app/scmod.cxx49
-rw-r--r--sc/source/ui/docshell/docsh3.cxx6
-rw-r--r--sc/source/ui/drawfunc/drtxtob1.cxx12
-rw-r--r--sc/source/ui/drawfunc/fuconcustomshape.cxx26
-rw-r--r--sc/source/ui/pagedlg/tphf.cxx8
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 )
{