[Libreoffice-commits] core.git: canvas/source chart2/source compilerplugins/clang framework/inc framework/source include/canvas lotuswordpro/inc lotuswordpro/source sd/source slideshow/source solenv/CompilerTest_compilerplugins_clang.mk xmloff/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Tue Nov 13 11:27:31 UTC 2018


 canvas/source/tools/canvascustomspritehelper.cxx            |   18 
 chart2/source/controller/dialogs/dlg_ObjectProperties.cxx   |    7 
 chart2/source/controller/inc/dlg_ObjectProperties.hxx       |    2 
 compilerplugins/clang/singlevalfields.could-be-bool.results |   42 +
 compilerplugins/clang/singlevalfields.cxx                   |  115 ---
 compilerplugins/clang/singlevalfields.results               |  430 ++++++++++--
 compilerplugins/clang/test/singlevalfields.cxx              |   26 
 framework/inc/uielement/toolbarsmenucontroller.hxx          |    2 
 framework/source/uielement/toolbarsmenucontroller.cxx       |    9 
 include/canvas/base/canvascustomspritehelper.hxx            |   15 
 lotuswordpro/inc/xfilter/xffontdecl.hxx                     |    3 
 lotuswordpro/source/filter/xfilter/xffontdecl.cxx           |    1 
 lotuswordpro/source/filter/xfilter/xfstylemanager.cxx       |    5 
 sd/source/ui/inc/Window.hxx                                 |    1 
 sd/source/ui/slideshow/slideshowimpl.cxx                    |    5 
 sd/source/ui/slideshow/slideshowimpl.hxx                    |    1 
 sd/source/ui/view/sdwindow.cxx                              |   43 -
 slideshow/source/engine/shapes/viewmediashape.cxx           |   13 
 slideshow/source/engine/shapes/viewmediashape.hxx           |    1 
 solenv/CompilerTest_compilerplugins_clang.mk                |    1 
 xmloff/source/draw/animexp.cxx                              |    9 
 21 files changed, 484 insertions(+), 265 deletions(-)

New commits:
commit e3290499009492e39e5ddd870d314bb5df494199
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Fri Nov 9 07:44:45 2018 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Tue Nov 13 12:27:08 2018 +0100

    loplugin singlevalfields improvement
    
    checking for casting to void* turns out to mask useful stuff, so
    remove that and just deal with a few extra false+
    
    Change-Id: Id9700d7ceda90ba8fdb38aa870f13a7ca3acb668
    Reviewed-on: https://gerrit.libreoffice.org/63145
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/canvas/source/tools/canvascustomspritehelper.cxx b/canvas/source/tools/canvascustomspritehelper.cxx
index 1d39107c9d00..90a9506d0b84 100644
--- a/canvas/source/tools/canvascustomspritehelper.cxx
+++ b/canvas/source/tools/canvascustomspritehelper.cxx
@@ -154,12 +154,7 @@ namespace canvas
         mbActive(false),
         mbIsCurrClipRectangle(true),
         mbIsContentFullyOpaque( false ),
-        mbAlphaDirty( true ),
-        mbPositionDirty( true ),
-        mbTransformDirty( true ),
-        mbClipDirty( true ),
-        mbPrioDirty( true ),
-        mbVisibilityDirty( true )
+        mbTransformDirty( true )
     {
     }
 
@@ -238,8 +233,6 @@ namespace canvas
                                               maPosition,
                                               getUpdateArea() );
             }
-
-            mbAlphaDirty = true;
         }
     }
 
@@ -277,7 +270,6 @@ namespace canvas
             }
 
             maPosition = aPoint;
-            mbPositionDirty = true;
         }
     }
 
@@ -330,8 +322,6 @@ namespace canvas
                                           maPosition,
                                           getUpdateArea() );
         }
-
-        mbClipDirty = true;
     }
 
     void CanvasCustomSpriteHelper::setPriority( const Sprite::Reference&    rSprite,
@@ -350,8 +340,6 @@ namespace canvas
                                               maPosition,
                                               getUpdateArea() );
             }
-
-            mbPrioDirty = true;
         }
     }
 
@@ -374,8 +362,6 @@ namespace canvas
                                               maPosition,
                                               getUpdateArea() );
             }
-
-            mbVisibilityDirty = true;
         }
     }
 
@@ -398,8 +384,6 @@ namespace canvas
                                               maPosition,
                                               getUpdateArea() );
             }
-
-            mbVisibilityDirty = true;
         }
     }
 
diff --git a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
index 1a074b29f9d4..13f0419a05ca 100644
--- a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
+++ b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
@@ -324,7 +324,6 @@ SchAttribTabDlg::SchAttribTabDlg(weld::Window* pParent,
                                  const ViewElementListProvider* pViewElementListProvider,
                                  const uno::Reference< util::XNumberFormatsSupplier >& xNumberFormatsSupplier)
     : SfxTabDialogController(pParent, "modules/schart/ui/attributedialog.ui", "AttributeDialog", pAttr)
-    , nDlgType(nNoArrowNoShadowDlg)
     , m_pParameter( pDialogParameter )
     , m_pViewElementListProvider( pViewElementListProvider )
     , m_pNumberFormatter(nullptr)
@@ -488,7 +487,7 @@ void SchAttribTabDlg::PageCreated(const OString& rId, SfxTabPage &rPage)
         aSet.Put (SvxDashListItem(m_pViewElementListProvider->GetDashList(),SID_DASH_LIST));
         aSet.Put (SvxLineEndListItem(m_pViewElementListProvider->GetLineEndList(),SID_LINEEND_LIST));
         aSet.Put (SfxUInt16Item(SID_PAGE_TYPE,0));
-        aSet.Put (SfxUInt16Item(SID_DLG_TYPE,nDlgType));
+        aSet.Put (SfxUInt16Item(SID_DLG_TYPE,nNoArrowNoShadowDlg));
 
         if( m_pParameter->HasSymbolProperties() )
         {
@@ -508,13 +507,13 @@ void SchAttribTabDlg::PageCreated(const OString& rId, SfxTabPage &rPage)
         aSet.Put(SvxBitmapListItem(m_pViewElementListProvider->GetBitmapList(),SID_BITMAP_LIST));
         aSet.Put(SvxPatternListItem(m_pViewElementListProvider->GetPatternList(),SID_PATTERN_LIST));
         aSet.Put(SfxUInt16Item(SID_PAGE_TYPE,0));
-        aSet.Put(SfxUInt16Item(SID_DLG_TYPE,nDlgType));
+        aSet.Put(SfxUInt16Item(SID_DLG_TYPE,nNoArrowNoShadowDlg));
         rPage.PageCreated(aSet);
     }
     else if (rId == "transparent")
     {
         aSet.Put (SfxUInt16Item(SID_PAGE_TYPE,0));
-        aSet.Put (SfxUInt16Item(SID_DLG_TYPE,nDlgType));
+        aSet.Put (SfxUInt16Item(SID_DLG_TYPE,nNoArrowNoShadowDlg));
         rPage.PageCreated(aSet);
     }
     else if (rId == "fontname")
diff --git a/chart2/source/controller/inc/dlg_ObjectProperties.hxx b/chart2/source/controller/inc/dlg_ObjectProperties.hxx
index d136a1a3f701..4df60ef2b74b 100644
--- a/chart2/source/controller/inc/dlg_ObjectProperties.hxx
+++ b/chart2/source/controller/inc/dlg_ObjectProperties.hxx
@@ -107,8 +107,6 @@ class ViewElementListProvider;
 class SchAttribTabDlg : public SfxTabDialogController
 {
 private:
-    sal_uInt16                   nDlgType;
-
     const ObjectPropertiesDialogParameter * const        m_pParameter;
     const ViewElementListProvider* const                 m_pViewElementListProvider;
     SvNumberFormatter* m_pNumberFormatter;
diff --git a/compilerplugins/clang/singlevalfields.could-be-bool.results b/compilerplugins/clang/singlevalfields.could-be-bool.results
index eb666536b4ff..47b6c94ecb48 100644
--- a/compilerplugins/clang/singlevalfields.could-be-bool.results
+++ b/compilerplugins/clang/singlevalfields.could-be-bool.results
@@ -4,9 +4,39 @@ chart2/source/view/inc/PlottingPositionHelper.hxx:206
 connectivity/source/inc/dbase/dindexnode.hxx:125
     connectivity::dbase::ONDXPage bNoDelete
     unsigned int
+cui/source/inc/cfg.hxx:249
+    SvxConfigEntry nId
+    sal_uInt16
+editeng/source/misc/hangulhanja.cxx:78
+    editeng::HangulHanjaConversion_Impl m_eConvType
+    class HangulHanjaConversion::ConversionType
 filter/source/graphicfilter/eps/eps.cxx:139
     PSWriter nNextChrSetId
     sal_uInt8
+include/opencl/openclwrapper.hxx:46
+    openclwrapper::GPUEnv mnIsUserCreated
+    int
+include/svtools/headbar.hxx:219
+    HeaderBar mnBorderOff1
+    long
+include/svtools/headbar.hxx:220
+    HeaderBar mnBorderOff2
+    long
+include/svtools/ruler.hxx:628
+    Ruler mnBorderWidth
+    long
+include/tools/ref.hxx:126
+    SvRefBase bNoDelete
+    unsigned int
+include/vbahelper/vbapagesetupbase.hxx:50
+    VbaPageSetupBase mnOrientPortrait
+    sal_Int32
+include/vcl/dialog.hxx:50
+    Dialog mnMousePositioned
+    long
+libreofficekit/source/gtk/tilebuffer.hxx:219
+    LOEvent m_nSetGraphicSelectionType
+    int
 sal/rtl/cipher.cxx:110
     Cipher_Impl m_algorithm
     rtlCipherAlgorithm
@@ -28,6 +58,9 @@ sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx:1102
 sc/source/ui/vba/vbahyperlink.hxx:82
     ScVbaHyperlink mnType
     long
+sd/qa/unit/tiledrendering/tiledrendering.cxx:968
+    ViewCallback m_nPart
+    int
 soltools/cpp/cpp.h:121
     includelist always
     char
@@ -43,15 +76,18 @@ sw/source/filter/ww8/docxexport.hxx:100
 sw/source/filter/ww8/ww8scan.hxx:65
     SprmInfo nVari
     unsigned int
+sw/source/uibase/inc/tautofmt.hxx:50
+    SwAutoFormatDlg m_nDfltStylePos
+    sal_uInt8
 vcl/inc/canvasbitmap.hxx:57
     vcl::unotools::VclCanvasBitmap m_nEndianness
     sal_Int8
-vcl/inc/printdlg.hxx:151
-    vcl::PrintDialog::JobTabPage mnCollateUIMode
-    long
 vcl/inc/unx/i18n_ic.hxx:33
     SalI18N_InputContext mbUseable
     int
+vcl/inc/unx/salframe.h:130
+    X11SalFrame mbInputFocus
+    int
 vcl/workben/icontest.cxx:144
     IconTestApp nRet
     int
diff --git a/compilerplugins/clang/singlevalfields.cxx b/compilerplugins/clang/singlevalfields.cxx
index 5f25b2c562e1..2b2fa8e44e3f 100644
--- a/compilerplugins/clang/singlevalfields.cxx
+++ b/compilerplugins/clang/singlevalfields.cxx
@@ -39,6 +39,7 @@ namespace {
 
 struct MyFieldInfo
 {
+    FieldDecl const * fieldDecl;
     std::string parentClass;
     std::string fieldName;
     std::string fieldType;
@@ -78,17 +79,30 @@ public:
     {
         TraverseDecl(compiler.getASTContext().getTranslationUnitDecl());
 
-        // dump all our output in one write call - this is to try and limit IO "crosstalk" between multiple processes
-        // writing to the same logfile
-        std::string output;
-        for (const MyFieldAssignmentInfo & s : assignedSet)
-            output += "asgn:\t" + s.parentClass + "\t" + s.fieldName + "\t" + s.value + "\n";
-        for (const MyFieldInfo & s : definitionSet)
-            output += "defn:\t" + s.parentClass + "\t" + s.fieldName + "\t" + s.fieldType + "\t" + s.sourceLocation + "\n";
-        std::ofstream myfile;
-        myfile.open( WORKDIR "/loplugin.singlevalfields.log", std::ios::app | std::ios::out);
-        myfile << output;
-        myfile.close();
+        if (!isUnitTestMode())
+        {
+            // dump all our output in one write call - this is to try and limit IO "crosstalk" between multiple processes
+            // writing to the same logfile
+            std::string output;
+            for (const MyFieldAssignmentInfo & s : assignedSet)
+                output += "asgn:\t" + s.parentClass + "\t" + s.fieldName + "\t" + s.value + "\n";
+            for (const MyFieldInfo & s : definitionSet)
+                output += "defn:\t" + s.parentClass + "\t" + s.fieldName + "\t" + s.fieldType + "\t" + s.sourceLocation + "\n";
+            std::ofstream myfile;
+            myfile.open( WORKDIR "/loplugin.singlevalfields.log", std::ios::app | std::ios::out);
+            myfile << output;
+            myfile.close();
+        }
+        else
+        {
+            for (const MyFieldAssignmentInfo & s : assignedSet)
+                if (compiler.getSourceManager().isInMainFile(compat::getBeginLoc(s.fieldDecl)))
+                    report(
+                        DiagnosticsEngine::Warning,
+                        "assign %0",
+                        compat::getBeginLoc(s.fieldDecl))
+                        << s.value;
+        }
     }
 
     bool shouldVisitTemplateInstantiations () const { return true; }
@@ -98,18 +112,17 @@ public:
     bool VisitFieldDecl( const FieldDecl* );
     bool VisitMemberExpr( const MemberExpr* );
     bool VisitCXXConstructorDecl( const CXXConstructorDecl* );
-    bool VisitImplicitCastExpr( const ImplicitCastExpr* );
 //    bool VisitUnaryExprOrTypeTraitExpr( const UnaryExprOrTypeTraitExpr* );
 private:
     void niceName(const FieldDecl*, MyFieldInfo&);
     std::string getExprValue(const Expr*);
     const FunctionDecl* get_top_FunctionDecl_from_Stmt(const Stmt&);
     void checkCallExpr(const Stmt* child, const CallExpr* callExpr, std::string& assignValue, bool& bPotentiallyAssignedTo);
-    void markAllFields(const RecordDecl* recordDecl);
 };
 
 void SingleValFields::niceName(const FieldDecl* fieldDecl, MyFieldInfo& aInfo)
 {
+    aInfo.fieldDecl = fieldDecl;
     aInfo.parentClass = fieldDecl->getParent()->getQualifiedNameAsString();
     aInfo.fieldName = fieldDecl->getNameAsString();
     aInfo.fieldType = fieldDecl->getType().getAsString();
@@ -164,77 +177,6 @@ bool SingleValFields::VisitCXXConstructorDecl( const CXXConstructorDecl* decl )
     return true;
 }
 
-/**
- * Check for calls to methods where a pointer to something is cast to a pointer to void.
- * At which case it could have anything written to it.
- */
-bool SingleValFields::VisitImplicitCastExpr( const ImplicitCastExpr* castExpr )
-{
-    QualType qt = castExpr->getType().getDesugaredType(compiler.getASTContext());
-    if (qt.isNull()) {
-        return true;
-    }
-    if ( qt.isConstQualified() || !qt->isPointerType()
-         || !qt->getAs<clang::PointerType>()->getPointeeType()->isVoidType() ) {
-        return true;
-    }
-    const Expr* subExpr = castExpr->getSubExpr();
-    qt = subExpr->getType();
-    if (!qt->isPointerType()) {
-        return true;
-    }
-    qt = qt->getPointeeType();
-    if (!qt->isRecordType()) {
-        return true;
-    }
-    const RecordDecl* recordDecl = qt->getAs<RecordType>()->getDecl();
-    markAllFields(recordDecl);
-    return true;
-}
-
-void SingleValFields::markAllFields(const RecordDecl* recordDecl)
-{
-    for(auto fieldDecl = recordDecl->field_begin();
-        fieldDecl != recordDecl->field_end(); ++fieldDecl)
-    {
-        MyFieldAssignmentInfo aInfo;
-        niceName(*fieldDecl, aInfo);
-        aInfo.value = "?";
-        assignedSet.insert(aInfo);
-    }
-    const CXXRecordDecl* cxxRecordDecl = dyn_cast<CXXRecordDecl>(recordDecl);
-    if (!cxxRecordDecl || !cxxRecordDecl->hasDefinition()) {
-        return;
-    }
-    for (auto it = cxxRecordDecl->bases_begin(); it != cxxRecordDecl->bases_end(); ++it)
-    {
-        QualType qt = it->getType();
-        if (qt->isRecordType())
-            markAllFields(qt->getAs<RecordType>()->getDecl());
-    }
-}
-
-/**
- * Check for usage of sizeof(T) where T is a record.
- * Means we can't touch the size of the class by removing fields.
- *
- * @FIXME this could be tightened up. In some contexts e.g. "memset(p,sizeof(T),0)" we could emit a "set to zero"
- */
- /*
-bool SingleValFields::VisitUnaryExprOrTypeTraitExpr( const UnaryExprOrTypeTraitExpr* expr )
-{
-    if (expr->getKind() != UETT_SizeOf || !expr->isArgumentType()) {
-        return true;
-    }
-    QualType qt = expr->getArgumentType();
-    if (!qt->isRecordType()) {
-        return true;
-    }
-    const RecordDecl* recordDecl = qt->getAs<RecordType>()->getDecl();
-    markAllFields(recordDecl);
-    return true;
-}
-*/
 bool SingleValFields::VisitMemberExpr( const MemberExpr* memberExpr )
 {
     const ValueDecl* decl = memberExpr->getMemberDecl();
@@ -491,6 +433,9 @@ std::string SingleValFields::getExprValue(const Expr* arg)
         return "?";
     if (arg->isValueDependent())
         return "?";
+    // for stuff like: OUString foo = "xxx";
+    if (auto stringLiteral = dyn_cast<clang::StringLiteral>(arg))
+        return stringLiteral->getString();
     // ParenListExpr containing a CXXNullPtrLiteralExpr and has a NULL type pointer
     if (auto parenListExpr = dyn_cast<ParenListExpr>(arg))
     {
@@ -527,7 +472,7 @@ std::string SingleValFields::getExprValue(const Expr* arg)
     return "?";
 }
 
-loplugin::Plugin::Registration< SingleValFields > X("singlevalfields", false);
+loplugin::Plugin::Registration< SingleValFields > X("singlevalfields", true);
 
 }
 
diff --git a/compilerplugins/clang/singlevalfields.results b/compilerplugins/clang/singlevalfields.results
index f3703ac6f34b..2394fead0cbf 100644
--- a/compilerplugins/clang/singlevalfields.results
+++ b/compilerplugins/clang/singlevalfields.results
@@ -1,9 +1,15 @@
-basic/source/inc/scriptcont.hxx:35
-    basic::SfxScriptLibraryContainer maScriptLanguage
-    StarBasic
-basic/source/runtime/methods.cxx:3430
+basctl/source/basicide/baside2.hxx:87
+    basctl::EditorWindow aHighlighter
+    0
+basctl/source/inc/accessibledialogwindow.hxx:76
+    basctl::AccessibleDialogWindow m_pDlgEditor
+    0
+basic/source/runtime/methods.cxx:3427
     (anonymous namespace)::RandomNumberGenerator global_rng
     5489
+binaryurp/source/proxy.hxx:83
+    binaryurp::Proxy references_
+    1
 binaryurp/source/writerstate.hxx:41
     binaryurp::WriterState typeCache
     256
@@ -25,9 +31,15 @@ bridges/inc/unointerfaceproxy.hxx:86
 bridges/source/jni_uno/jni_bridge.h:53
     jni_uno::Bridge m_ref
     1
-canvas/source/opengl/ogl_spritedevicehelper.hxx:124
-    oglcanvas::SpriteDeviceHelper mpDevice
+bridges/source/jni_uno/jni_uno2java.cxx:389
+    jni_uno::UNO_proxy m_ref
+    1
+chart2/source/controller/inc/ChartController.hxx:377
+    chart::ChartController m_aLifeTimeManager
     0
+chart2/source/controller/inc/dlg_ObjectProperties.hxx:110
+    chart::SchAttribTabDlg nDlgType
+    1101
 chart2/source/controller/inc/TitleDialogData.hxx:34
     chart::TitleDialogData aPossibilityList
     7
@@ -76,48 +88,63 @@ connectivity/source/inc/OColumn.hxx:48
 connectivity/source/inc/writer/WTable.hxx:69
     connectivity::writer::OWriterTable m_nStartCol
     0
-cui/source/options/optgdlg.cxx:1096
+cui/source/inc/border.hxx:118
+    SvxBorderTabPage mbAllowPaddingWithoutBorders
+    1
+cui/source/inc/paragrph.hxx:56
+    SvxStdParagraphTabPage nAbst
+    5670
+cui/source/inc/tabstpge.hxx:91
+    SvxTabulatorTabPage eDefUnit
+    15
+cui/source/options/optgdlg.cxx:1102
     LanguageConfig_Impl aLanguageOptions
     0
+cui/source/options/treeopt.cxx:456
+    OptionsPageInfo m_pPage
+    0
+cui/source/options/treeopt.cxx:474
+    OptionsGroupInfo m_pExtPage
+    0
+dbaccess/source/ui/inc/directsql.hxx:61
+    dbaui::DirectSQLDialog m_nHistoryLimit
+    20
+dbaccess/source/ui/inc/JoinTableView.hxx:104
+    dbaui::OJoinTableView m_bTrackingInitiallyMoved
+    0
 desktop/source/app/cmdlineargs.hxx:137
     desktop::CommandLineArgs m_quickstart
     0
-editeng/source/editeng/eertfpar.hxx:34
-    EditRTFParser aRTFMapMode
-    9
+desktop/source/deployment/gui/dp_gui_extlistbox.hxx:121
+    dp_gui::ExtensionBox_Impl m_nExtraHeight
+    2
+editeng/source/editeng/impedit.hxx:472
+    ImpEditEngine nBigTextObjectStart
+    20
+extensions/source/bibliography/framectr.hxx:68
+    BibFrameController_Impl bHierarchical
+    1
+extensions/source/propctrlr/browserline.hxx:60
+    pcr::OBrowserLine m_pBrowseButton
+    0
+extensions/source/propctrlr/browserline.hxx:61
+    pcr::OBrowserLine m_pAdditionalBrowseButton
+    0
 filter/source/msfilter/viscache.hxx:31
     Impl_OlePres nFormat
     3
+fpicker/source/office/commonpicker.hxx:66
+    svt::OCommonPicker m_pDlg
+    0
+framework/inc/uielement/toolbarsmenucontroller.hxx:96
+    framework::ToolbarsMenuController m_aPropUIName
+    UIName
+framework/inc/uielement/toolbarsmenucontroller.hxx:97
+    framework::ToolbarsMenuController m_aPropResourceURL
+    ResourceURL
 framework/source/uiconfiguration/imagemanagerimpl.hxx:182
     framework::ImageManagerImpl m_aResourceString
     private:resource/images/moduleimages
-framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx:213
-    (anonymous namespace)::ModuleUIConfigurationManager m_aPropResourceURL
-    ResourceURL
-framework/source/uiconfiguration/uiconfigurationmanager.cxx:191
-    (anonymous namespace)::UIConfigurationManager m_aPropResourceURL
-    ResourceURL
-framework/source/uielement/uicommanddescription.cxx:141
-    framework::ConfigurationAccess_UICommand m_aPropLabel
-    Label
-framework/source/uielement/uicommanddescription.cxx:142
-    framework::ConfigurationAccess_UICommand m_aPropName
-    Name
-framework/source/uielement/uicommanddescription.cxx:143
-    framework::ConfigurationAccess_UICommand m_aPropPopup
-    Popup
-framework/source/uielement/uicommanddescription.cxx:144
-    framework::ConfigurationAccess_UICommand m_aPropPopupLabel
-    PopupLabel
-framework/source/uielement/uicommanddescription.cxx:145
-    framework::ConfigurationAccess_UICommand m_aPropTooltipLabel
-    TooltipLabel
-framework/source/uielement/uicommanddescription.cxx:146
-    framework::ConfigurationAccess_UICommand m_aPropTargetURL
-    TargetURL
-framework/source/uielement/uicommanddescription.cxx:147
-    framework::ConfigurationAccess_UICommand m_aPropIsExperimental
-    IsExperimental
 helpcompiler/inc/BasCodeTagger.hxx:35
     BasicCodeTagger m_Highlighter
     0
@@ -130,14 +157,29 @@ include/basegfx/pixel/bpixel.hxx:44
 include/basic/sbxvar.hxx:70
     SbxValues::(anonymous) pData
     0
+include/canvas/base/canvascustomspritehelper.hxx:207
+    canvas::CanvasCustomSpriteHelper mbAlphaDirty
+    1
+include/canvas/base/canvascustomspritehelper.hxx:210
+    canvas::CanvasCustomSpriteHelper mbPositionDirty
+    1
+include/canvas/base/canvascustomspritehelper.hxx:216
+    canvas::CanvasCustomSpriteHelper mbClipDirty
+    1
+include/canvas/base/canvascustomspritehelper.hxx:219
+    canvas::CanvasCustomSpriteHelper mbPrioDirty
+    1
+include/canvas/base/canvascustomspritehelper.hxx:222
+    canvas::CanvasCustomSpriteHelper mbVisibilityDirty
+    1
 include/canvas/rendering/irendermodule.hxx:40
     canvas::Vertex g
     1
 include/canvas/rendering/irendermodule.hxx:40
-    canvas::Vertex r
+    canvas::Vertex b
     1
 include/canvas/rendering/irendermodule.hxx:40
-    canvas::Vertex b
+    canvas::Vertex r
     1
 include/canvas/rendering/irendermodule.hxx:42
     canvas::Vertex z
@@ -172,8 +214,53 @@ include/oox/core/contexthandler2.hxx:220
 include/oox/dump/dumperbase.hxx:1683
     oox::dump::RecordObjectBase mbBinaryOnly
     0
-include/svtools/ctrlbox.hxx:448
-    FontSizeBox bRelative
+include/sfx2/msg.hxx:187
+    SfxSlot nGroupId
+    0
+include/sfx2/msg.hxx:191
+    SfxSlot nValue
+    0
+include/sfx2/msg.hxx:196
+    SfxSlot pType
+    0
+include/sfx2/msg.hxx:200
+    SfxSlot pFirstArgDef
+    0
+include/sfx2/msg.hxx:201
+    SfxSlot nArgDefCount
+    0
+include/sfx2/thumbnailview.hxx:303
+    ThumbnailView mnFineness
+    5
+include/sfx2/thumbnailview.hxx:308
+    ThumbnailView mbIsTransientChildrenDisabled
+    0
+include/svtools/calendar.hxx:171
+    Calendar mbDropPos
+    0
+include/svtools/calendar.hxx:174
+    Calendar mnDragScrollHitTest
+    0
+include/svtools/calendar.hxx:294
+    CalendarField maDefaultDate
+    0
+include/svtools/ruler.hxx:553
+    RulerLine nStyle
+    0
+include/svtools/ruler.hxx:631
+    Ruler mnUpdateEvtId
+    0
+include/svtools/scrwin.hxx:41
+    ScrollableWindow bHandleDragging
+    1
+include/svtools/scrwin.hxx:42
+    ScrollableWindow bHCenter
+    1
+include/svtools/scrwin.hxx:43
+    ScrollableWindow bVCenter
+    1
+include/svtools/svparser.hxx:56
+    SvParser pImplData
     0
 include/svtools/svparser.hxx:74
     SvParser::TokenStackType nTokenValue
@@ -181,6 +268,12 @@ include/svtools/svparser.hxx:74
 include/svtools/svparser.hxx:75
     SvParser::TokenStackType bTokenHasValue
     0
+include/svtools/tabbar.hxx:325
+    TabBar mnOffY
+    0
+include/svtools/valueset.hxx:446
+    SvtValueSet mbFullMode
+    1
 include/svx/ctredlin.hxx:122
     SvxRedlinTable aDaTiFirst
     0
@@ -214,30 +307,66 @@ include/svx/dialcontrol.hxx:110
 include/svx/dialcontrol.hxx:111
     svx::DialControl::DialControl_Impl mnLinkedFieldValueMultiplyer
     0
-include/svx/dialcontrol.hxx:115
-    svx::DialControl::DialControl_Impl mnInitialAngle
-    0
-include/svx/dialcontrol.hxx:119
+include/svx/dialcontrol.hxx:118
     svx::DialControl::DialControl_Impl mbNoRot
     0
+include/svx/dlgctrl.hxx:234
+    LineLB mbAddStandardFields
+    1
+include/svx/fillctrl.hxx:54
+    SvxFillToolBoxControl mpFillControl
+    0
+include/svx/float3d.hxx:174
+    Svx3DWin pVDev
+    0
+include/svx/svdcrtv.hxx:50
+    SdrCreateView nAutoCloseDistPix
+    5
+include/svx/svdcrtv.hxx:51
+    SdrCreateView nFreeHandMinDistPix
+    10
 include/svx/svdmark.hxx:144
     SdrMarkList mbPointNameOk
     0
 include/svx/svdmark.hxx:145
     SdrMarkList mbGluePointNameOk
     0
+include/svx/svdmrkv.hxx:116
+    SdrMarkView mnFrameHandlesLimit
+    50
+include/svx/view3d.hxx:50
+    E3dView eDragConstraint
+    7
 include/test/beans/xpropertyset.hxx:56
     apitest::XPropertySet maPropsToTest
     1
+include/tools/stream.hxx:159
+    SvStream m_isConsistent
+    1
+include/vcl/cursor.hxx:50
+    vcl::Cursor mnSlant
+    0
+include/vcl/field.hxx:49
+    FormatterBase mbDefaultLocale
+    1
 include/vcl/opengl/OpenGLContext.hxx:57
     OpenGLCapabilitySwitch mbLimitedShaderRegisters
     0
 include/vcl/slider.hxx:39
     Slider mnChannelPixOffset
     0
+include/vcl/tabctrl.hxx:56
+    TabControl mnMaxPageWidth
+    0
 libreofficekit/source/gtk/lokdocview.cxx:84
     LOKDocViewPrivateImpl m_bIsLoading
     0
+lotuswordpro/inc/xfilter/xffontdecl.hxx:92
+    XFFontDecl m_bPitchFixed
+    0
+oox/source/core/contexthandler2.cxx:36
+    oox::core::ElementInfo maChars
+    0
 opencl/source/opencl_device.cxx:54
     (anonymous namespace)::LibreOfficeDeviceEvaluationIO inputSize
     15360
@@ -256,6 +385,9 @@ pyuno/source/module/pyuno_impl.hxx:312
 sal/osl/unx/signal.cxx:82
     (anonymous namespace)::SignalAction Action
     1
+sal/osl/unx/sockimpl.hxx:37
+    oslSocketImpl m_bIsInShutdown
+    1
 sal/qa/osl/process/osl_Thread.cxx:214
     myThread m_aFlag
     0
@@ -271,7 +403,13 @@ sal/qa/osl/process/osl_Thread.cxx:359
 sc/inc/compiler.hxx:111
     ScRawToken::(anonymous union)::(anonymous) eInForceArray
     0
-sc/inc/listenercontext.hxx:47
+sc/inc/dpfilteredcache.hxx:93
+    ScDPFilteredCache::Criterion mpFilter
+    0
+sc/inc/funcdesc.hxx:221
+    ScFuncDesc bHasSuppressedArgs
+    0
+sc/inc/listenercontext.hxx:46
     sc::EndListeningContext maSet
     0
 sc/inc/markmulti.hxx:79
@@ -286,20 +424,44 @@ sc/inc/table.hxx:178
 sc/qa/unit/ucalc.hxx:41
     Test::RangeNameDef mnIndex
     1
-sc/source/core/data/column.cxx:3385
+sc/source/core/data/column.cxx:3377
     (anonymous namespace)::RemoveEmptyBroadcasterHandler maSet
     0
-sc/source/core/data/documentimport.cxx:599
+sc/source/core/data/documentimport.cxx:598
     (anonymous namespace)::CellStoreInitializer::Impl maAttrs
     1048576
+sc/source/core/inc/parclass.hxx:94
+    ScParameterClassification::RunData bHasForceArray
+    1
 sc/source/filter/inc/orcusinterface.hxx:179
     ScOrcusConditionalFormat meEntryType
     0
+sc/source/filter/inc/xepivotxml.hxx:31
+    XclExpXmlPivotCaches::Entry meType
+    0
 sc/source/filter/inc/xltracer.hxx:82
     XclTracer mbEnabled
     0
-sc/source/ui/sidebar/CellLineStyleValueSet.hxx:32
-    sc::sidebar::CellLineStyleValueSet pVDev
+sc/source/ui/inc/anyrefdg.hxx:111
+    ScRefHandler m_pActiveWin
+    0
+sc/source/ui/inc/checklistmenu.hxx:155
+    ScMenuFloatingWindow::MenuItemData mpAction
+    0
+sc/source/ui/inc/checklistmenu.hxx:156
+    ScMenuFloatingWindow::MenuItemData mpSubMenuWin
+    0
+sc/source/ui/inc/fupoor.hxx:50
+    FuPoor pDialog
+    0
+sc/source/ui/inc/inscodlg.hxx:57
+    ScInsertContentsDlg nShortCutMoveMode
+    4
+sc/source/ui/inc/retypepassdlg.hxx:91
+    ScRetypePassDlg mpDocItem
+    0
+sc/source/ui/inc/viewdata.hxx:288
+    ScViewData aLogicMode
     0
 sd/inc/sdpptwrp.hxx:42
     SdPPTFilter pBas
@@ -310,12 +472,15 @@ sd/source/filter/html/htmlex.hxx:113
 sd/source/ui/inc/DrawController.hxx:289
     sd::DrawController mpCurrentPage
     0
-sd/source/ui/inc/drawview.hxx:64
-    sd::DrawView mpVDev
-    0
+sd/source/ui/inc/pubdlg.hxx:151
+    SdPublishingDlg aAssistentFunc
+    6
 sd/source/ui/inc/ViewTabBar.hxx:144
     sd::ViewTabBar mpTabPage
     0
+sd/source/ui/inc/Window.hxx:154
+    sd::Window mpShareWin
+    0
 sd/source/ui/inc/WindowUpdater.hxx:96
     sd::WindowUpdater maCTLOptions
     0
@@ -325,24 +490,33 @@ sd/source/ui/presenter/SlideRenderer.hxx:82
 sd/source/ui/sidebar/PanelBase.hxx:56
     sd::sidebar::PanelBase mpWrappedControl
     0
+sd/source/ui/slideshow/slideshowimpl.hxx:333
+    sd::SlideshowImpl mpTimeButton
+    0
 sd/source/ui/slidesorter/cache/SlsBitmapFactory.hxx:46
     sd::slidesorter::cache::BitmapFactory maRenderer
     0
-sd/source/ui/slidesorter/inc/controller/SlsVisibleAreaManager.hxx:79
-    sd::slidesorter::controller::VisibleAreaManager mnScrollAnimationId
-    -1
 sdext/source/pdfimport/pdfparse/pdfparse.cxx:60
     StringEmitContext m_aBuf
     256
+sfx2/source/appl/fileobj.hxx:45
+    SvFileObject bInNewData
+    0
 sfx2/source/appl/lnkbase2.cxx:76
     sfx2::ImplBaseLinkData::tDDEType pItem
     0
 sfx2/source/appl/lnkbase2.cxx:81
     sfx2::ImplBaseLinkData::(anonymous) DDEType
     0
-sfx2/source/view/impviewframe.hxx:38
-    SfxViewFrame_Impl pFocusWin
+sfx2/source/dialog/filedlgimpl.hxx:79
+    sfx2::FileDialogHelper_Impl mbIsGpgEnabled
+    1
+slideshow/source/engine/shapes/viewmediashape.hxx:151
+    slideshow::internal::ViewMediaShape mpEventHandlerParent
     0
+slideshow/source/engine/slideshowimpl.cxx:479
+    (anonymous namespace)::SlideShowImpl maFrameSynchronization
+    0.02
 soltools/cpp/cpp.h:120
     includelist deleted
     1
@@ -367,33 +541,108 @@ stoc/source/security/access_controller.cxx:306
 stoc/source/security/lru_cache.h:54
     stoc_sec::lru_cache m_block
     0
+svl/source/crypto/cryptosign.cxx:150
+    (anonymous namespace)::(anonymous) extensions
+    0
+svtools/source/contnr/fileview.cxx:336
+    SvtFileView_Impl mbReplaceNames
+    0
+svtools/source/contnr/imivctl.hxx:181
+    SvxIconChoiceCtrl_Impl nUserEventShowCursor
+    0
+svtools/source/contnr/imivctl.hxx:202
+    SvxIconChoiceCtrl_Impl bEntryEditingEnabled
+    0
 svtools/source/dialogs/roadmapwizard.cxx:54
     svt::RoadmapWizardImpl pRoadmap
     0
-svx/source/sidebar/line/LineWidthValueSet.hxx:46
-    svx::sidebar::LineWidthValueSet pVDev
-    0
 sw/inc/ftninfo.hxx:46
     SwEndNoteInfo aFormat
     4
 sw/inc/hints.hxx:223
     SwAttrSetChg m_bDelSet
     0
+sw/inc/view.hxx:189
+    SwView m_pHScrollbar
+    0
+sw/inc/view.hxx:190
+    SwView m_pVScrollbar
+    0
+sw/inc/view.hxx:200
+    SwView m_pTogglePageBtn
+    0
 sw/inc/viewopt.hxx:189
     SwViewOption m_bTest10
     0
+sw/inc/viewsh.hxx:116
+    SwViewShell mpTmpRef
+    0
+sw/source/core/bastyp/calc.cxx:95
+    CalcOp eOp
+    0
 sw/source/core/inc/UndoSort.hxx:38
     SwSortUndoElement::(anonymous union)::(anonymous) nID
     4294967295
 sw/source/filter/inc/rtf.hxx:30
     RTFSurround::(anonymous union)::(anonymous) nJunk
     0
+sw/source/filter/ww8/ww8par3.cxx:323
+    WW8LST bSimpleList
+    1
+sw/source/filter/ww8/ww8par3.cxx:324
+    WW8LST bRestartHdn
+    1
+sw/source/filter/ww8/ww8par3.cxx:356
+    WW8LVL bV6Prev
+    1
+sw/source/filter/ww8/ww8par3.cxx:357
+    WW8LVL bV6PrSp
+    1
+sw/source/filter/ww8/ww8par3.cxx:358
+    WW8LVL bV6
+    1
 sw/source/filter/ww8/ww8par.hxx:659
     WW8FormulaControl mfUnknown
     0
 sw/source/filter/ww8/ww8par.hxx:668
     WW8FormulaControl mhpsCheckBox
     20
+sw/source/filter/ww8/ww8par.hxx:1011
+    WW8TabBandDesc mbHasSpacing
+    1
+sw/source/filter/ww8/ww8scan.hxx:1166
+    WW8Fib m_fObfuscated
+    0
+sw/source/filter/ww8/ww8scan.hxx:1516
+    WW8Fib m_fcHplxsdr
+    16842754
+sw/source/filter/ww8/ww8scan.hxx:1517
+    WW8Fib m_lcbHplxsdr
+    0
+sw/source/filter/ww8/ww8struc.hxx:892
+    WW8_TablePos nSp37
+    2
+sw/source/uibase/docvw/srcedtw.cxx:55
+    (anonymous namespace)::TextPortion nLine
+    0
+sw/source/uibase/inc/instable.hxx:48
+    SwInsTableDlg minTableIndexInLb
+    1
+sw/source/uibase/inc/optpage.hxx:160
+    SwStdFontTabPage m_bSetListHeightDefault
+    0
+sw/source/uibase/inc/optpage.hxx:162
+    SwStdFontTabPage m_bSetLabelHeightDefault
+    0
+sw/source/uibase/inc/optpage.hxx:164
+    SwStdFontTabPage m_bSetIndexHeightDefault
+    0
+sw/source/uibase/inc/pview.hxx:178
+    SwPagePreview m_pHScrollbar
+    0
+sw/source/uibase/inc/pview.hxx:179
+    SwPagePreview m_pVScrollbar
+    0
 unotools/source/config/saveopt.cxx:77
     SvtSaveOptions_Impl bROUserAutoSave
     0
@@ -406,6 +655,9 @@ vcl/inc/salprn.hxx:42
 vcl/inc/salprn.hxx:43
     SalPrinterQueueInfo mnJobs
     4294967295
+vcl/inc/salwtype.hxx:154
+    SalWheelMouseEvent mbDeltaIsPixel
+    0
 vcl/inc/svdata.hxx:273
     ImplSVNWFData mnStatusBarLowerRightOffset
     0
@@ -424,6 +676,45 @@ vcl/inc/svdata.hxx:292
 vcl/inc/svdata.hxx:301
     ImplSVNWFData mbRolloverMenubar
     0
+vcl/source/app/settings.cxx:68
+    ImplMouseData mnStartDragCode
+    1
+vcl/source/app/settings.cxx:69
+    ImplMouseData mnContextMenuCode
+    4
+vcl/source/app/settings.cxx:70
+    ImplMouseData mnContextMenuClicks
+    1
+vcl/source/app/settings.cxx:71
+    ImplMouseData mnScrollRepeat
+    100
+vcl/source/app/settings.cxx:72
+    ImplMouseData mnButtonStartRepeat
+    370
+vcl/source/app/settings.cxx:74
+    ImplMouseData mnActionDelay
+    250
+vcl/source/app/settings.cxx:154
+    ImplStyleData mnBorderSize
+    1
+vcl/source/app/settings.cxx:158
+    ImplStyleData mnSplitSize
+    3
+vcl/source/app/settings.cxx:202
+    ImplStyleData mnColorValueSetMaximumRowCount
+    10
+vcl/source/app/settings.cxx:205
+    ImplStyleData mnListBoxPreviewDefaultLineWidth
+    1
+vcl/source/app/settings.cxx:226
+    ImplHelpData mnTipDelay
+    500
+vcl/source/app/settings.cxx:228
+    ImplHelpData mnBalloonDelay
+    1500
+vcl/source/app/settings.cxx:242
+    ImplAllSettingsData mnWindowUpdate
+    39
 vcl/source/filter/jpeg/transupp.h:128
     (anonymous) perfect
     0
@@ -442,9 +733,6 @@ vcl/source/filter/jpeg/transupp.h:147
 vcl/source/filter/jpeg/transupp.h:149
     (anonymous) crop_yoffset
     0
-vcl/source/filter/wmf/wmfwr.hxx:94
-    WMFWriter bDstIsClipping
-    0
 vcl/source/font/font.cxx:539
     (anonymous namespace)::WeightSearchEntry weight
     5
@@ -487,21 +775,21 @@ vcl/source/gdi/dibtools.cxx:117
 vcl/source/gdi/dibtools.cxx:118
     (anonymous namespace)::DIBV5Header nV5Reserved
     0
-vcl/source/gdi/pdfwriter_impl.hxx:763
+vcl/source/gdi/pdfwriter_impl.hxx:741
     vcl::PDFWriterImpl m_DocDigest
     0
-vcl/source/window/status.cxx:52
-    StatusBar::ImplData mnItemBorderWidth
-    0
 writerfilter/source/dmapper/SettingsTable.cxx:239
     writerfilter::dmapper::SettingsTable_Impl m_pThemeFontLangProps
     3
-writerfilter/source/rtftok/rtfdocumentimpl.hxx:620
+writerfilter/source/rtftok/rtfdocumentimpl.hxx:619
     writerfilter::rtftok::RTFDocumentImpl m_nNestedTRLeft
     0
-writerfilter/source/rtftok/rtfdocumentimpl.hxx:621
+writerfilter/source/rtftok/rtfdocumentimpl.hxx:620
     writerfilter::rtftok::RTFDocumentImpl m_nTopLevelTRLeft
     0
-writerfilter/source/rtftok/rtfdocumentimpl.hxx:624
+writerfilter/source/rtftok/rtfdocumentimpl.hxx:623
     writerfilter::rtftok::RTFDocumentImpl m_nNestedCurrentCellX
     0
+xmloff/source/draw/animexp.cxx:213
+    XMLEffectHint mnPathShapeId
+    -1
diff --git a/compilerplugins/clang/test/singlevalfields.cxx b/compilerplugins/clang/test/singlevalfields.cxx
new file mode 100644
index 000000000000..14be377c385a
--- /dev/null
+++ b/compilerplugins/clang/test/singlevalfields.cxx
@@ -0,0 +1,26 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <rtl/ustring.hxx>
+
+struct Foo
+{
+    // expected-error at +1 {{assign XXX [loplugin:singlevalfields]}}
+    OUString m_aMenuResourceURL;
+
+    Foo()
+        : m_aMenuResourceURL("XXX")
+    {
+        m_aMenuResourceURL = "XXX";
+        m_aMenuResourceURL = "X"
+                             "XX";
+    }
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/framework/inc/uielement/toolbarsmenucontroller.hxx b/framework/inc/uielement/toolbarsmenucontroller.hxx
index 6328ed60c0c1..2ce73d2bc1de 100644
--- a/framework/inc/uielement/toolbarsmenucontroller.hxx
+++ b/framework/inc/uielement/toolbarsmenucontroller.hxx
@@ -93,8 +93,6 @@ namespace framework
             css::uno::Reference< css::ui::XUIConfigurationManager >   m_xModuleCfgMgr;
             css::uno::Reference< css::ui::XUIConfigurationManager >   m_xDocCfgMgr;
             OUString                                                  m_aModuleIdentifier;
-            OUString                                                  m_aPropUIName;
-            OUString                                                  m_aPropResourceURL;
             bool                                                      m_bResetActive;
             std::vector< OUString >                                   m_aCommandVector;
             IntlWrapper                                               m_aIntlWrapper;
diff --git a/framework/source/uielement/toolbarsmenucontroller.cxx b/framework/source/uielement/toolbarsmenucontroller.cxx
index 4bf670c7f325..c5f554488800 100644
--- a/framework/source/uielement/toolbarsmenucontroller.cxx
+++ b/framework/source/uielement/toolbarsmenucontroller.cxx
@@ -123,11 +123,12 @@ DEFINE_XSERVICEINFO_MULTISERVICE_2      (   ToolbarsMenuController
 
 DEFINE_INIT_SERVICE                     (   ToolbarsMenuController, {} )
 
+static constexpr OUStringLiteral g_aPropUIName( "UIName" );
+static constexpr OUStringLiteral g_aPropResourceURL( "ResourceURL" );
+
 ToolbarsMenuController::ToolbarsMenuController( const css::uno::Reference< css::uno::XComponentContext >& xContext ) :
     svt::PopupMenuControllerBase( xContext ),
     m_xContext( xContext ),
-    m_aPropUIName( "UIName" ),
-    m_aPropResourceURL( "ResourceURL" ),
     m_bResetActive( false ),
     m_aIntlWrapper(SvtSysLocale().GetUILanguageTag())
 {
@@ -261,8 +262,8 @@ Sequence< Sequence< css::beans::PropertyValue > > ToolbarsMenuController::getLay
     }
 
     Sequence< css::beans::PropertyValue > aTbSeq( 2 );
-    aTbSeq[0].Name = m_aPropUIName;
-    aTbSeq[1].Name = m_aPropResourceURL;
+    aTbSeq[0].Name = g_aPropUIName;
+    aTbSeq[1].Name = g_aPropResourceURL;
 
     Sequence< Sequence< css::beans::PropertyValue > > aSeq( aToolBarArray.size() );
     const sal_uInt32 nCount = aToolBarArray.size();
diff --git a/include/canvas/base/canvascustomspritehelper.hxx b/include/canvas/base/canvascustomspritehelper.hxx
index 3f55ef672d7c..5e62d4ed88a7 100644
--- a/include/canvas/base/canvascustomspritehelper.hxx
+++ b/include/canvas/base/canvascustomspritehelper.hxx
@@ -203,23 +203,8 @@ namespace canvas
          */
         mutable bool                                        mbIsContentFullyOpaque;
 
-        /// True, iff mfAlpha has changed
-        mutable bool                                        mbAlphaDirty;
-
-        /// True, iff maPosition has changed
-        mutable bool                                        mbPositionDirty;
-
         /// True, iff maTransform has changed
         mutable bool                                        mbTransformDirty;
-
-        /// True, iff mxClipPoly has changed
-        mutable bool                                        mbClipDirty;
-
-        /// True, iff mnPriority has changed
-        mutable bool                                        mbPrioDirty;
-
-        /// True, iff mbActive has changed
-        mutable bool                                        mbVisibilityDirty;
     };
 }
 
diff --git a/lotuswordpro/inc/xfilter/xffontdecl.hxx b/lotuswordpro/inc/xfilter/xffontdecl.hxx
index 95e273e36ddb..e1a1e615a7cf 100644
--- a/lotuswordpro/inc/xfilter/xffontdecl.hxx
+++ b/lotuswordpro/inc/xfilter/xffontdecl.hxx
@@ -84,12 +84,9 @@ public:
      */
     const OUString& GetFontFamily() { return m_strFontFamily;}
 
-    bool        GetFontPitchFixed() { return m_bPitchFixed;}
-
 private:
     OUString   m_strFontName;
     OUString   m_strFontFamily;
-    bool        m_bPitchFixed;
 };
 
 #endif
diff --git a/lotuswordpro/source/filter/xfilter/xffontdecl.cxx b/lotuswordpro/source/filter/xfilter/xffontdecl.cxx
index 087ca078baeb..0949ac271456 100644
--- a/lotuswordpro/source/filter/xfilter/xffontdecl.cxx
+++ b/lotuswordpro/source/filter/xfilter/xffontdecl.cxx
@@ -63,7 +63,6 @@ XFFontDecl::XFFontDecl(const OUString& name, const OUString& family)
 {
     m_strFontName = name;
     m_strFontFamily = family;
-    m_bPitchFixed = false;
 }
 
 
diff --git a/lotuswordpro/source/filter/xfilter/xfstylemanager.cxx b/lotuswordpro/source/filter/xfilter/xfstylemanager.cxx
index cf772652b3ba..5c42058f29eb 100644
--- a/lotuswordpro/source/filter/xfilter/xfstylemanager.cxx
+++ b/lotuswordpro/source/filter/xfilter/xfstylemanager.cxx
@@ -320,10 +320,7 @@ void    XFStyleManager::ToXml(IXFStream *pStrm)
         pAttrList->Clear();
         pAttrList->AddAttribute( "style:name", fontDecl.GetFontName() );
         pAttrList->AddAttribute( "fo:font-family", fontDecl.GetFontFamily() );
-        if( fontDecl.GetFontPitchFixed() )
-            pAttrList->AddAttribute( "style:font-pitch", "fixed" );
-        else
-            pAttrList->AddAttribute( "style:font-pitch", "variable" );
+        pAttrList->AddAttribute( "style:font-pitch", "variable" );
         pStrm->StartElement( "style:font-decl" );
         pStrm->EndElement( "style:font-decl" );
     }
diff --git a/sd/source/ui/inc/Window.hxx b/sd/source/ui/inc/Window.hxx
index 8ae24c4f0a64..026a6d1a460f 100644
--- a/sd/source/ui/inc/Window.hxx
+++ b/sd/source/ui/inc/Window.hxx
@@ -151,7 +151,6 @@ public:
     void DropScroll (const Point& rMousePos);
     virtual void KeyInput(const KeyEvent& rKEvt) override;
 protected:
-    VclPtr< ::sd::Window> mpShareWin;
     Point maWinPos;
     Point maViewOrigin;
     Size maViewSize;
diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx b/sd/source/ui/slideshow/slideshowimpl.cxx
index 7f100e66f1f6..b58f4b486247 100644
--- a/sd/source/ui/slideshow/slideshowimpl.cxx
+++ b/sd/source/ui/slideshow/slideshowimpl.cxx
@@ -480,7 +480,6 @@ SlideshowImpl::SlideshowImpl( const Reference< XPresentation2 >& xPresentation,
 , mpDoc(pDoc)
 , mpParentWindow(pParentWindow)
 , mpShowWindow(nullptr)
-, mpTimeButton(nullptr)
 , mnRestoreSlide(0)
 , maPresSize( -1, -1 )
 , meAnimationMode(ANIMATIONMODE_SHOW)
@@ -670,10 +669,6 @@ void SAL_CALL SlideshowImpl::disposing()
         }
     }
 
-    if( mpTimeButton )
-        mpTimeButton->Hide();
-    mpTimeButton.disposeAndClear();
-
     if( mpShowWindow )
         mpShowWindow->Hide();
     mpShowWindow.disposeAndClear();
diff --git a/sd/source/ui/slideshow/slideshowimpl.hxx b/sd/source/ui/slideshow/slideshowimpl.hxx
index 7a36a8f0a0e8..e8daa04acc1b 100644
--- a/sd/source/ui/slideshow/slideshowimpl.hxx
+++ b/sd/source/ui/slideshow/slideshowimpl.hxx
@@ -330,7 +330,6 @@ private:
 
     VclPtr<vcl::Window>    mpParentWindow;
     VclPtr<sd::ShowWindow>     mpShowWindow;
-    VclPtr<PushButton>     mpTimeButton;
 
     std::shared_ptr< AnimationSlideController > mpSlideController;
 
diff --git a/sd/source/ui/view/sdwindow.cxx b/sd/source/ui/view/sdwindow.cxx
index 9519cc7f334a..f295d00cf4d1 100644
--- a/sd/source/ui/view/sdwindow.cxx
+++ b/sd/source/ui/view/sdwindow.cxx
@@ -61,7 +61,6 @@ namespace sd {
 Window::Window(vcl::Window* pParent)
     : vcl::Window(pParent, WinBits(WB_CLIPCHILDREN | WB_DIALOGCONTROL)),
       DropTargetHelper( this ),
-      mpShareWin(nullptr),
       maWinPos(0, 0),           // precautionary; but the values should be set
       maViewOrigin(0, 0),       // again from the owner of the window
       maViewSize(1000, 1000),
@@ -106,7 +105,6 @@ void Window::dispose()
         if (pWindowUpdater != nullptr)
             pWindowUpdater->UnregisterWindow (this);
     }
-    mpShareWin.clear();
     DropTargetHelper::dispose();
     vcl::Window::dispose();
 }
@@ -146,30 +144,23 @@ void Window::CalcMinZoom()
         // Get current zoom factor.
         long nZoom = GetZoom();
 
-        if ( mpShareWin )
-        {
-            mpShareWin->CalcMinZoom();
-            mnMinZoom = mpShareWin->mnMinZoom;
-        }
-        else
-        {
-            // Get the rectangle of the output area in logical coordinates
-            // and calculate the scaling factors that would lead to the view
-            // area (also called application area) to completely fill the
-            // window.
-            Size aWinSize = PixelToLogic(GetOutputSizePixel());
-            sal_uLong nX = static_cast<sal_uLong>(static_cast<double>(aWinSize.Width())
-                * double(ZOOM_MULTIPLICATOR) / static_cast<double>(maViewSize.Width()));
-            sal_uLong nY = static_cast<sal_uLong>(static_cast<double>(aWinSize.Height())
-                * double(ZOOM_MULTIPLICATOR) / static_cast<double>(maViewSize.Height()));
-
-            // Decide whether to take the larger or the smaller factor.
-            sal_uLong nFact = std::min(nX, nY);
-
-            // The factor is transformed according to the current zoom factor.
-            nFact = nFact * nZoom / ZOOM_MULTIPLICATOR;
-            mnMinZoom = std::max(sal_uInt16(MIN_ZOOM), static_cast<sal_uInt16>(nFact));
-        }
+        // Get the rectangle of the output area in logical coordinates
+        // and calculate the scaling factors that would lead to the view
+        // area (also called application area) to completely fill the
+        // window.
+        Size aWinSize = PixelToLogic(GetOutputSizePixel());
+        sal_uLong nX = static_cast<sal_uLong>(static_cast<double>(aWinSize.Width())
+            * double(ZOOM_MULTIPLICATOR) / static_cast<double>(maViewSize.Width()));
+        sal_uLong nY = static_cast<sal_uLong>(static_cast<double>(aWinSize.Height())
+            * double(ZOOM_MULTIPLICATOR) / static_cast<double>(maViewSize.Height()));
+
+        // Decide whether to take the larger or the smaller factor.
+        sal_uLong nFact = std::min(nX, nY);
+
+        // The factor is transformed according to the current zoom factor.
+        nFact = nFact * nZoom / ZOOM_MULTIPLICATOR;
+        mnMinZoom = std::max(sal_uInt16(MIN_ZOOM), static_cast<sal_uInt16>(nFact));
+
         // If the current zoom factor is smaller than the calculated minimal
         // zoom factor then set the new minimal factor as the current zoom
         // factor.
diff --git a/slideshow/source/engine/shapes/viewmediashape.cxx b/slideshow/source/engine/shapes/viewmediashape.cxx
index d8dcb2bbf4d6..f61c6dd598d9 100644
--- a/slideshow/source/engine/shapes/viewmediashape.cxx
+++ b/slideshow/source/engine/shapes/viewmediashape.cxx
@@ -76,7 +76,6 @@ namespace slideshow
                                         const uno::Reference< drawing::XShape >&        rxShape,
                                         const uno::Reference< uno::XComponentContext >& rxContext ) :
             mpViewLayer( rViewLayer ),
-            mpEventHandlerParent(nullptr),
             maWindowOffset( 0, 0 ),
             maBounds(),
             mxShape( rxShape ),
@@ -137,7 +136,6 @@ namespace slideshow
             }
 
             mpMediaWindow.disposeAndClear();
-            mpEventHandlerParent.disposeAndClear();
 
             // shutdown player
             if( mxPlayer.is() )
@@ -257,15 +255,7 @@ namespace slideshow
 
             if( mpMediaWindow.get() )
             {
-                if( mpEventHandlerParent )
-                {
-                    mpEventHandlerParent->SetPosSizePixel( aPosPixel, aSizePixel );
-                    mpMediaWindow->SetPosSizePixel( Point(0,0), aSizePixel );
-                }
-                else
-                {
-                    mpMediaWindow->SetPosSizePixel( aPosPixel, aSizePixel );
-                }
+                mpMediaWindow->SetPosSizePixel( aPosPixel, aSizePixel );
                 mxPlayerWindow->setPosSize( 0, 0,
                                             aSizePixel.Width(), aSizePixel.Height(),
                                             0 );
@@ -483,7 +473,6 @@ namespace slideshow
                                 //if there was no playerwindow, then clear the mpMediaWindow too
                                 //so that we can draw a placeholder instead in that space
                                 mpMediaWindow.disposeAndClear();
-                                mpEventHandlerParent.disposeAndClear();
                             }
                         }
                     }
diff --git a/slideshow/source/engine/shapes/viewmediashape.hxx b/slideshow/source/engine/shapes/viewmediashape.hxx
index a95ba95e2080..53fc804d4633 100644
--- a/slideshow/source/engine/shapes/viewmediashape.hxx
+++ b/slideshow/source/engine/shapes/viewmediashape.hxx
@@ -148,7 +148,6 @@ namespace slideshow
                                              const OUString& rMimeType );
             ViewLayerSharedPtr const              mpViewLayer;
             VclPtr< SystemChildWindow >           mpMediaWindow;
-            VclPtr< vcl::Window >                 mpEventHandlerParent;
             mutable css::awt::Point               maWindowOffset;
             mutable ::basegfx::B2DRectangle       maBounds;
 
diff --git a/solenv/CompilerTest_compilerplugins_clang.mk b/solenv/CompilerTest_compilerplugins_clang.mk
index a4d46ced20a8..daea955e3135 100644
--- a/solenv/CompilerTest_compilerplugins_clang.mk
+++ b/solenv/CompilerTest_compilerplugins_clang.mk
@@ -51,6 +51,7 @@ $(eval $(call gb_CompilerTest_add_exception_objects,compilerplugins_clang, \
     compilerplugins/clang/test/simplifybool \
     compilerplugins/clang/test/simplifyconstruct \
     compilerplugins/clang/test/simplifydynamiccast \
+    compilerplugins/clang/test/singlevalfields \
     compilerplugins/clang/test/staticconstfield \
     compilerplugins/clang/test/staticvar \
     compilerplugins/clang/test/stringbuffer \
diff --git a/xmloff/source/draw/animexp.cxx b/xmloff/source/draw/animexp.cxx
index 420fb2180ab2..7098cc12eea9 100644
--- a/xmloff/source/draw/animexp.cxx
+++ b/xmloff/source/draw/animexp.cxx
@@ -210,7 +210,6 @@ struct XMLEffectHint
     OUString        maSoundURL;
     bool        mbPlayFull;
     sal_Int32       mnPresId;
-    sal_Int32       mnPathShapeId;
 
     bool operator<(const XMLEffectHint& rComp) const { return mnPresId < rComp.mnPresId; }
 
@@ -218,7 +217,7 @@ struct XMLEffectHint
     :   meKind( XMLE_SHOW ), mbTextEffect( false ),
         meEffect( EK_none ), meDirection( ED_none ), mnStartScale( -1 ),
         meSpeed( AnimationSpeed_SLOW ), maDimColor(0), mbPlayFull( false ),
-        mnPresId( 0 ), mnPathShapeId( -1 )
+        mnPresId( 0 )
         {}
 };
 
@@ -366,7 +365,6 @@ void XMLAnimationsExporter::collect( const Reference< XShape >& xShape, SvXMLExp
                     }
                     mpImpl->maEffects.push_back( aEffect );
 
-                    aEffect.mnPathShapeId = -1;
                     aEffect.maSoundURL.clear();
                 }
 
@@ -485,11 +483,6 @@ void XMLAnimationsExporter::exportAnimations( SvXMLExport& rExport )
                     rExport.AddAttribute( XML_NAMESPACE_PRESENTATION, XML_SPEED, sTmp.makeStringAndClear() );
                 }
 
-                if( rEffect.mnPathShapeId != -1 )
-                {
-                    rExport.AddAttribute( XML_NAMESPACE_PRESENTATION, XML_PATH_ID, OUString::number( rEffect.mnPathShapeId ) );
-                }
-
                 enum XMLTokenEnum eLocalName;
                 if( rEffect.meKind == XMLE_SHOW )
                 {


More information about the Libreoffice-commits mailing list