summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-11-17 11:16:07 +0200
committerNoel Grandin <noelgrandin@gmail.com>2015-11-17 12:26:32 +0000
commitd9e627039245dc42f003a7cf75642f619a621513 (patch)
treed10188cbdf0808f4c4c6663025e15bd4bac47284
parentbe3d2309f0376914b0135046f95b0bb592cf5078 (diff)
loplugin:unnecessaryvirtual
update the plugin with lessons learned from the mergeclasses plugin and re-run it Change-Id: I9d622eb3d05fceaf8fa764c533c8fa5dfb4c7711 Reviewed-on: https://gerrit.libreoffice.org/20015 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
-rw-r--r--basic/source/sbx/sbxarray.cxx6
-rw-r--r--basic/source/sbx/sbxbase.cxx10
-rw-r--r--basic/source/sbx/sbxobj.cxx8
-rw-r--r--basic/source/sbx/sbxvar.cxx15
-rw-r--r--chart2/source/controller/inc/ChartController.hxx2
-rw-r--r--compilerplugins/clang/store/unnecessaryvirtual.cxx261
-rwxr-xr-xcompilerplugins/clang/store/unnecessaryvirtual.py57
-rw-r--r--fpicker/source/office/RemoteFilesDialog.hxx4
-rw-r--r--framework/inc/macros/xserviceinfo.hxx2
-rw-r--r--i18npool/inc/localedata.hxx26
-rw-r--r--i18npool/inc/transliterationImpl.hxx2
-rw-r--r--include/basic/sbxcore.hxx2
-rw-r--r--include/canvas/rendering/isurface.hxx2
-rw-r--r--include/sax/tools/documenthandleradapter.hxx8
-rw-r--r--include/sfx2/viewfrm.hxx6
-rw-r--r--include/svtools/ServerDetailsControls.hxx2
-rw-r--r--include/svx/svdotext.hxx2
-rw-r--r--include/svx/textchainflow.hxx6
-rw-r--r--include/vcl/split.hxx1
-rw-r--r--include/vcl/window.hxx1
-rw-r--r--include/xmloff/xmlnume.hxx2
-rw-r--r--sd/inc/drawdoc.hxx6
-rw-r--r--slideshow/source/engine/eventmultiplexer.cxx14
-rw-r--r--slideshow/source/engine/slide/shapemanagerimpl.hxx3
-rw-r--r--slideshow/source/engine/slideshowimpl.cxx3
-rw-r--r--slideshow/source/inc/eventmultiplexer.hxx28
-rw-r--r--svx/source/inc/fmobj.hxx2
-rw-r--r--svx/source/table/cell.hxx2
-rw-r--r--sw/inc/unotbl.hxx4
-rw-r--r--sw/source/uibase/ribbar/workctrl.cxx2
-rw-r--r--vcl/inc/BitmapSymmetryCheck.hxx4
-rw-r--r--vcl/inc/salbmp.hxx4
-rw-r--r--vcl/qa/cppunit/BitmapFilterTest.cxx2
-rw-r--r--vcl/qa/cppunit/BitmapTest.cxx4
-rw-r--r--vcl/source/window/menubarwindow.hxx8
-rw-r--r--vcl/source/window/paint.cxx6
-rw-r--r--vcl/source/window/split.cxx18
37 files changed, 171 insertions, 364 deletions
diff --git a/basic/source/sbx/sbxarray.cxx b/basic/source/sbx/sbxarray.cxx
index 9484d9e550dd..ab44f577178d 100644
--- a/basic/source/sbx/sbxarray.cxx
+++ b/basic/source/sbx/sbxarray.cxx
@@ -492,7 +492,7 @@ SbxVariable* SbxArray::Find( const OUString& rName, SbxClassType t )
return p;
}
-bool SbxArray::LoadData( SvStream& rStrm, sal_uInt16 nVer )
+bool SbxArray::LoadData( SvStream& rStrm, sal_uInt16 /*nVer*/ )
{
sal_uInt16 nElem;
Clear();
@@ -517,8 +517,6 @@ bool SbxArray::LoadData( SvStream& rStrm, sal_uInt16 nVer )
break;
}
}
- if( bRes )
- bRes = LoadPrivateData( rStrm, nVer );
nFlags = f;
return bRes;
}
@@ -545,7 +543,7 @@ bool SbxArray::StoreData( SvStream& rStrm ) const
return false;
}
}
- return StorePrivateData( rStrm );
+ return true;
}
// #100883 Method to set method directly to parameter array
diff --git a/basic/source/sbx/sbxbase.cxx b/basic/source/sbx/sbxbase.cxx
index b868238342c0..12bb9b7b94ec 100644
--- a/basic/source/sbx/sbxbase.cxx
+++ b/basic/source/sbx/sbxbase.cxx
@@ -290,16 +290,6 @@ bool SbxBase::StoreData( SvStream& ) const
return false;
}
-bool SbxBase::LoadPrivateData( SvStream&, sal_uInt16 )
-{
- return true;
-}
-
-bool SbxBase::StorePrivateData( SvStream& ) const
-{
- return true;
-}
-
bool SbxBase::LoadCompleted()
{
return true;
diff --git a/basic/source/sbx/sbxobj.cxx b/basic/source/sbx/sbxobj.cxx
index dc20af6e7eb7..3704d288db93 100644
--- a/basic/source/sbx/sbxobj.cxx
+++ b/basic/source/sbx/sbxobj.cxx
@@ -606,10 +606,6 @@ bool SbxObject::LoadData( SvStream& rStrm, sal_uInt16 nVer )
aDfltProp = read_uInt16_lenPrefixed_uInt8s_ToOUString(rStrm, RTL_TEXTENCODING_ASCII_US);
sal_Size nPos = rStrm.Tell();
rStrm.ReadUInt32( nSize );
- if( !LoadPrivateData( rStrm, nVer ) )
- {
- return false;
- }
sal_Size nNewPos = rStrm.Tell();
nPos += nSize;
DBG_ASSERT( nPos >= nNewPos, "SBX: Loaded too much data" );
@@ -647,10 +643,6 @@ bool SbxObject::StoreData( SvStream& rStrm ) const
write_uInt16_lenPrefixed_uInt8s_FromOUString(rStrm, aDfltProp, RTL_TEXTENCODING_ASCII_US);
sal_Size nPos = rStrm.Tell();
rStrm.WriteUInt32( 0L );
- if( !StorePrivateData( rStrm ) )
- {
- return false;
- }
sal_Size nNew = rStrm.Tell();
rStrm.Seek( nPos );
rStrm.WriteUInt32( nNew - nPos );
diff --git a/basic/source/sbx/sbxvar.cxx b/basic/source/sbx/sbxvar.cxx
index 548ce03642ac..2bbe5081044b 100644
--- a/basic/source/sbx/sbxvar.cxx
+++ b/basic/source/sbx/sbxvar.cxx
@@ -574,11 +574,6 @@ bool SbxVariable::LoadData( SvStream& rStrm, sal_uInt16 nVer )
pInfo = new SbxInfo;
pInfo->LoadData( rStrm, (sal_uInt16) cMark );
}
- // Load private data only, if it is a SbxVariable
- if( GetClass() == SbxCLASS_VARIABLE && !LoadPrivateData( rStrm, nVer ) )
- {
- return false;
- }
Broadcast( SBX_HINT_DATACHANGED );
nHash = MakeHashCode( maName );
SetModified( true );
@@ -625,15 +620,7 @@ bool SbxVariable::StoreData( SvStream& rStrm ) const
{
rStrm.WriteUChar( 0 );
}
- // Save private data only, if it is a SbxVariable
- if( GetClass() == SbxCLASS_VARIABLE )
- {
- return StorePrivateData( rStrm );
- }
- else
- {
- return true;
- }
+ return true;
}
// SbxInfo
diff --git a/chart2/source/controller/inc/ChartController.hxx b/chart2/source/controller/inc/ChartController.hxx
index b9fb2d87849e..2e41d8671726 100644
--- a/chart2/source/controller/inc/ChartController.hxx
+++ b/chart2/source/controller/inc/ChartController.hxx
@@ -371,7 +371,7 @@ public:
void execute_MouseButtonUp( const MouseEvent& rMEvt );
void execute_Resize();
void execute_Command( const CommandEvent& rCEvt );
- virtual bool execute_KeyInput( const KeyEvent& rKEvt );
+ bool execute_KeyInput( const KeyEvent& rKEvt );
/** get help text to be shown in a quick help
diff --git a/compilerplugins/clang/store/unnecessaryvirtual.cxx b/compilerplugins/clang/store/unnecessaryvirtual.cxx
index 53688cb03a46..5a6d63384750 100644
--- a/compilerplugins/clang/store/unnecessaryvirtual.cxx
+++ b/compilerplugins/clang/store/unnecessaryvirtual.cxx
@@ -13,6 +13,7 @@
#include <set>
#include "plugin.hxx"
#include "compat.hxx"
+#include <fstream>
/**
Dump a list of virtual methods and a list of methods overriding virtual methods.
@@ -20,31 +21,51 @@ Then we will post-process the 2 lists and find the set of virtual methods which
The process goes something like this:
$ make check
- $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='unnecessaryvirtual' check > log.txt
- $ ./compilerplugins/clang/unnecessaryvirtual.py log.txt > result.txt
+ $ make FORCE_COMPILE_ALL=1 COMPILER_PLUGIN_TOOL='unnecessaryvirtual' check
+ $ ./compilerplugins/clang/unnecessaryvirtual.py unnecessaryvirtual.log > result.txt
$ for dir in *; do make FORCE_COMPILE_ALL=1 UPDATE_FILES=$dir COMPILER_PLUGIN_TOOL='removevirtuals' $dir; done
Note that the actual process may involve a fair amount of undoing, hand editing, and general messing around
to get it to work :-)
-TODO function template instantiations are not handled
TODO some boost bind stuff appears to confuse it, notably in the xmloff module
+TODO does not find destructors that don't need to be virtual
*/
namespace {
+// try to limit the voluminous output a little
+static std::set<std::string> definitionSet;
+static std::set<std::string> overridingSet;
+
class UnnecessaryVirtual:
public RecursiveASTVisitor<UnnecessaryVirtual>, public loplugin::Plugin
{
public:
explicit UnnecessaryVirtual(InstantiationData const & data): Plugin(data) {}
- virtual void run() override { TraverseDecl(compiler.getASTContext().getTranslationUnitDecl()); }
+ virtual void run() override
+ {
+ 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 std::string & s : definitionSet)
+ output += "definition:\t" + s + "\n";
+ for (const std::string & s : overridingSet)
+ output += "overriding:\t" + s + "\n";
+ ofstream myfile;
+ myfile.open( SRCDIR "/unnecessaryvirtual.log", ios::app | ios::out);
+ myfile << output;
+ myfile.close();
+ }
+ bool shouldVisitTemplateInstantiations () const { return true; }
- bool VisitCXXRecordDecl( const CXXRecordDecl* decl );
bool VisitCXXMethodDecl( const CXXMethodDecl* decl );
- bool VisitCXXConstructExpr( const CXXConstructExpr* expr );
- void printTemplateInstantiations( const CXXRecordDecl *decl );
+ bool VisitCallExpr(CallExpr* );
+private:
+ std::string fullyQualifiedName(const FunctionDecl* functionDecl);
};
static std::string niceName(const CXXMethodDecl* functionDecl)
@@ -64,147 +85,48 @@ static std::string niceName(const CXXMethodDecl* functionDecl)
return s;
}
-static bool startsWith(const std::string& s, const char* other)
-{
- return s.compare(0, strlen(other), other) == 0;
-}
-
-static bool isStandardStuff(const std::string& s)
-{
- // ignore UNO interface definitions, cannot change those
- return startsWith(s, "com::sun::star::")
- // ignore stuff in the C++ stdlib and boost
- || startsWith(s, "std::") || startsWith(s, "boost::") || startsWith(s, "__gnu_debug::")
- // can't change our rtl layer
- || startsWith(s, "rtl::");
-}
-
-void UnnecessaryVirtual::printTemplateInstantiations( const CXXRecordDecl *recordDecl )
+std::string UnnecessaryVirtual::fullyQualifiedName(const FunctionDecl* functionDecl)
{
- for(auto functionDecl = recordDecl->method_begin();
- functionDecl != recordDecl->method_end(); ++functionDecl)
- {
- if (!functionDecl->isUserProvided() || !functionDecl->isVirtual()) {
- continue;
- }
- if (isa<CXXDestructorDecl>(*functionDecl)) {
- continue;
- }
- std::string aNiceName = niceName(*functionDecl);
- if (isStandardStuff(aNiceName)) {
- continue;
- }
- if (functionDecl->size_overridden_methods() == 0) {
- cout << "definition:\t" << aNiceName << endl;
- } else {
- for (auto iter = functionDecl->begin_overridden_methods();
- iter != functionDecl->end_overridden_methods(); ++iter)
- {
- const CXXMethodDecl *pOverriddenMethod = *iter;
- // we only care about the first level override to establish that a virtual qualifier was useful.
- if (pOverriddenMethod->isPure() || pOverriddenMethod->size_overridden_methods() == 0) {
- std::string aOverriddenNiceName = niceName(pOverriddenMethod);
- if (isStandardStuff(aOverriddenNiceName)) {
- continue;
- }
- cout << "overriding:\t" << aOverriddenNiceName << endl;
- }
- }
- }
- }
- for(auto baseSpecifier = recordDecl->bases_begin();
- baseSpecifier != recordDecl->bases_end(); ++baseSpecifier)
- {
- QualType qt = baseSpecifier->getType().getDesugaredType(compiler.getASTContext());
- if (!qt->isRecordType()) {
- continue;
- }
- const CXXRecordDecl *pSuperclassCXXRecordDecl = qt->getAsCXXRecordDecl();
- std::string aNiceName = pSuperclassCXXRecordDecl->getQualifiedNameAsString();
- if (isStandardStuff(aNiceName)) {
- continue;
- }
- printTemplateInstantiations(pSuperclassCXXRecordDecl);
+ std::string ret = compat::getReturnType(*functionDecl).getCanonicalType().getAsString();
+ ret += " ";
+ if (isa<CXXMethodDecl>(functionDecl)) {
+ const CXXRecordDecl* recordDecl = dyn_cast<CXXMethodDecl>(functionDecl)->getParent();
+ ret += recordDecl->getQualifiedNameAsString();
+ ret += "::";
+ }
+ ret += functionDecl->getNameAsString() + "(";
+ bool bFirst = true;
+ for (const ParmVarDecl *pParmVarDecl : functionDecl->params()) {
+ if (bFirst)
+ bFirst = false;
+ else
+ ret += ",";
+ ret += pParmVarDecl->getType().getCanonicalType().getAsString();
}
-}
-
-// I need to check construct expressions to see if we are instantiating any templates
-// which will effectively generate new methods
-bool UnnecessaryVirtual::VisitCXXConstructExpr( const CXXConstructExpr* constructExpr )
-{
- if (ignoreLocation(constructExpr)) {
- return true;
+ ret += ")";
+ if (isa<CXXMethodDecl>(functionDecl) && dyn_cast<CXXMethodDecl>(functionDecl)->isConst()) {
+ ret += " const";
}
- const CXXConstructorDecl* pConstructorDecl = constructExpr->getConstructor();
- const CXXRecordDecl* recordDecl = pConstructorDecl->getParent();
- printTemplateInstantiations(recordDecl);
- return true;
-}
-// I need to visit class definitions, so I can scan through the classes they extend to check if
-// we have any template instantiations that will create new methods
-bool UnnecessaryVirtual::VisitCXXRecordDecl( const CXXRecordDecl* recordDecl )
-{
- if (ignoreLocation(recordDecl)) {
- return true;
- }
- if(!recordDecl->hasDefinition()) {
- return true;
- }
- // ignore uninstantiated templates
- if (recordDecl->getTemplateInstantiationPattern()) {
- return true;
- }
- // ignore stuff that forms part of the stable URE interface
- if (isInUnoIncludeFile(compiler.getSourceManager().getSpellingLoc(
- recordDecl->getLocation()))) {
- return true;
- }
- for(auto baseSpecifier = recordDecl->bases_begin();
- baseSpecifier != recordDecl->bases_end(); ++baseSpecifier)
- {
- QualType qt = baseSpecifier->getType().getDesugaredType(compiler.getASTContext());
- if (!qt->isRecordType()) {
- continue;
- }
- const CXXRecordDecl *pSuperclassCXXRecordDecl = qt->getAsCXXRecordDecl();
- printTemplateInstantiations(pSuperclassCXXRecordDecl);
- }
- return true;
+ return ret;
}
-bool UnnecessaryVirtual::VisitCXXMethodDecl( const CXXMethodDecl* functionDecl )
+bool UnnecessaryVirtual::VisitCXXMethodDecl( const CXXMethodDecl* methodDecl )
{
- if (ignoreLocation(functionDecl)) {
- return true;
- }
- functionDecl = functionDecl->getCanonicalDecl();
- // ignore uninstantiated template methods
- if (functionDecl->getTemplatedKind() != FunctionDecl::TemplatedKind::TK_NonTemplate
- || functionDecl->getParent()->getDescribedClassTemplate() != nullptr) {
- return true;
- }
- // ignore stuff that forms part of the stable URE interface
- if (isInUnoIncludeFile(compiler.getSourceManager().getSpellingLoc(
- functionDecl->getNameInfo().getLoc()))) {
- return true;
- }
- if (isStandardStuff(functionDecl->getParent()->getQualifiedNameAsString())) {
- return true;
- }
+ methodDecl = methodDecl->getCanonicalDecl();
- std::string aNiceName = niceName(functionDecl);
+ std::string aNiceName = niceName(methodDecl);
// for destructors, we need to check if any of the superclass' destructors are virtual
- if (isa<CXXDestructorDecl>(functionDecl)) {
+ if (isa<CXXDestructorDecl>(methodDecl)) {
/* TODO I need to check if the base class has any virtual functions, since overriding
classes will simply get a compiler-provided virtual destructor by default.
- if (!functionDecl->isVirtual() && !functionDecl->isPure()) {
+ if (!methodDecl->isVirtual() && !methodDecl->isPure()) {
return true;
}
std::set<std::string> overriddenSet;
- const CXXRecordDecl *pRecordDecl = functionDecl->getParent();
+ const CXXRecordDecl *pRecordDecl = methodDecl->getParent();
for(auto baseSpecifier = pRecordDecl->bases_begin();
baseSpecifier != pRecordDecl->bases_end(); ++baseSpecifier)
{
@@ -227,32 +149,77 @@ bool UnnecessaryVirtual::VisitCXXMethodDecl( const CXXMethodDecl* functionDecl )
return true;
}
- if (!functionDecl->isVirtual()) {
+ if (!methodDecl->isVirtual()) {
return true;
}
- if (isStandardStuff(aNiceName)) {
- return true;
- }
- if (functionDecl->size_overridden_methods() == 0) {
- cout << "definition:\t" << aNiceName << endl;
+ if (methodDecl->size_overridden_methods() == 0) {
+ // ignore stuff that forms part of the stable URE interface
+ if (isInUnoIncludeFile(compiler.getSourceManager().getSpellingLoc(
+ methodDecl->getNameInfo().getLoc()))) {
+ return true;
+ }
+ // ignore templates and template instantiations,
+ // I just cannot get clang to give me decent overriding method data out of them
+ if (methodDecl->getParent()->getDescribedClassTemplate()
+ || methodDecl->getParent()->getTemplateInstantiationPattern())
+ return true;
+ if (aNiceName.find("processOpCode2") != std::string::npos)
+ {
+ methodDecl->dump();
+ cout << "definition " << aNiceName << endl;
+ }
+ definitionSet.insert(aNiceName);
} else {
- for (auto iter = functionDecl->begin_overridden_methods();
- iter != functionDecl->end_overridden_methods(); ++iter)
+ for (auto iter = methodDecl->begin_overridden_methods();
+ iter != methodDecl->end_overridden_methods(); ++iter)
{
- const CXXMethodDecl *pOverriddenMethod = *iter;
+ const CXXMethodDecl *overriddenMethod = *iter;
// we only care about the first level override to establish that a virtual qualifier was useful.
- if (pOverriddenMethod->isPure() || pOverriddenMethod->size_overridden_methods() == 0) {
- std::string aOverriddenNiceName = niceName(pOverriddenMethod);
- if (isStandardStuff(aOverriddenNiceName)) {
- continue;
- }
- cout << "overriding:\t" << aOverriddenNiceName << endl;
+ if (overriddenMethod->isPure() || overriddenMethod->size_overridden_methods() == 0) {
+ std::string aOverriddenNiceName = niceName(overriddenMethod);
+ overridingSet.insert(aOverriddenNiceName);
+ if (aNiceName.find("processOpCode2") != std::string::npos)
+ {
+ methodDecl->dump();
+ cout << "overriding " << aNiceName << endl;
+ }
}
}
}
return true;
}
+// prevent recursive templates from blowing up the stack
+static std::set<std::string> traversedFunctionSet;
+
+bool UnnecessaryVirtual::VisitCallExpr(CallExpr* expr)
+{
+ // Note that I don't ignore ANYTHING here, because I want to get calls to my code that result
+ // from template instantiation deep inside the STL and other external code
+
+ FunctionDecl* calleeFunctionDecl = expr->getDirectCallee();
+ if (calleeFunctionDecl == nullptr) {
+ Expr* callee = expr->getCallee()->IgnoreParenImpCasts();
+ DeclRefExpr* dr = dyn_cast<DeclRefExpr>(callee);
+ if (dr) {
+ calleeFunctionDecl = dyn_cast<FunctionDecl>(dr->getDecl());
+ if (calleeFunctionDecl)
+ goto gotfunc;
+ }
+ return true;
+ }
+
+gotfunc:
+ // if we see a call to a function, it may effectively create new code,
+ // if the function is templated. However, if we are inside a template function,
+ // calling another function on the same template, the same problem occurs.
+ // Rather than tracking all of that, just traverse anything we have not already traversed.
+ if (traversedFunctionSet.insert(fullyQualifiedName(calleeFunctionDecl)).second)
+ TraverseFunctionDecl(calleeFunctionDecl);
+
+ return true;
+}
+
loplugin::Plugin::Registration< UnnecessaryVirtual > X("unnecessaryvirtual", false);
diff --git a/compilerplugins/clang/store/unnecessaryvirtual.py b/compilerplugins/clang/store/unnecessaryvirtual.py
index 4bce4dea7a70..e05f16c4d84a 100755
--- a/compilerplugins/clang/store/unnecessaryvirtual.py
+++ b/compilerplugins/clang/store/unnecessaryvirtual.py
@@ -1,60 +1,13 @@
#!/usr/bin/python
import sys
+import io
definitionSet = set()
overridingSet = set()
-# things we need to exclude for reasons like :
-# - we can't see the override because it's a MS-Windows-only thing.
-# - they involve function template instantiations, which I can't handle
-exclusionSet = set(
- "basegfx::unotools::UnoPolyPolygon::void-modifying()const",
- "SalLayout::_Bool-DrawTextSpecial(class SalGraphics &,sal_uInt32,)const",
- "SalLayout::_Bool-IsKashidaPosValid(int,)const",
- "SalLayout::void-DisableGlyphInjection(_Bool,)",
- "SalObject::void-Enable(_Bool,)",
- "PropertyWrapperBase::void-SetValue(const ::com::sun::star::uno::Any &,)"
- "canvas::IColorBuffer::enum canvas::IColorBuffer::Format-getFormat()const",
- "canvas::IColorBuffer::sal_uInt32-getHeight()const",
- "canvas::IColorBuffer::sal_uInt32-getStride()const",
- "canvas::IColorBuffer::sal_uInt32-getWidth()const",
- "canvas::IColorBuffer::sal_uInt8 *-lock()const",
- "canvas::IColorBuffer::void-unlock()const",
- "canvas::IRenderModule::::basegfx::B2IVector-getPageSize()",
- "canvas::IRenderModule::::boost::shared_ptr<ISurface>-createSurface(const ::basegfx::B2IVector &,)",
- "canvas::IRenderModule::_Bool-isError()",
- "canvas::IRenderModule::void-beginPrimitive(enum canvas::IRenderModule::PrimitiveType,)",
- "canvas::IRenderModule::void-endPrimitive()",
- "canvas::IRenderModule::void-lock()const",
- "canvas::IRenderModule::void-pushVertex(const struct canvas::Vertex &,)",
- "canvas::IRenderModule::void-unlock()const",
- "canvas::ISurface::_Bool-isValid()",
- "canvas::ISurface::_Bool-selectTexture()",
- "canvas::ISurface::_Bool-update(const ::basegfx::B2IPoint &,const ::basegfx::B2IRange &,struct canvas::IColorBuffer &,)",
- "SalFrame::void-Flush(const class Rectangle &,)",
- "SalFrame::void-SetRepresentedURL(const class rtl::OUString &,)",
- "SalLayout::_Bool-DrawTextSpecial(class SalGraphics &,sal_uInt32,)const",
- "SalLayout::_Bool-GetBoundRect(class SalGraphics &,class Rectangle &,)const",
- "SalLayout::_Bool-IsKashidaPosValid(int,)const",
- "SalLayout::void-DisableGlyphInjection(_Bool,)",
- "writerfilter::ooxml::OOXMLFactory_ns::Id-getResourceId(Id,sal_Int32,)",
- "writerfilter::ooxml::OOXMLFactory_ns::_Bool-getElementId(Id,Id,enum writerfilter::ooxml::ResourceType_t &,Id &,)",
- "writerfilter::ooxml::OOXMLFactory_ns::_Bool-getListValue(Id,const class rtl::OUString &,sal_uInt32 &,)",
- "writerfilter::ooxml::OOXMLFactory_ns::const struct writerfilter::ooxml::AttributeInfo *-getAttributeInfoArray(Id,)",
- "sd::ZeroconfService::void-clear()",
- "sd::ZeroconfService::void-setup()",
- "slideshow::internal::EnumAnimation::ValueType-getUnderlyingValue()const",
- "slideshow::internal::EnumAnimation::_Bool-operator()(ValueType,)",
- "basegfx::unotools::UnoPolyPolygon::void-modifying()const",
- "DdeTopic::_Bool-Execute(const class rtl::OUString *,)",
- "DdeTopic::class DdeData *-Get(enum SotClipboardFormatId,)",
- "DdeTopic::_Bool-Put(const class DdeData *,)",
- "DdeTopic::_Bool-MakeItem(const class rtl::OUString &,)",
- "DdeTopic::_Bool-StartAdviseLoop()",
- )
-with open(sys.argv[1]) as txt:
+with io.open(sys.argv[1], "rb", buffering=1024*1024) as txt:
for line in txt:
if line.startswith("definition:\t"):
@@ -67,10 +20,8 @@ with open(sys.argv[1]) as txt:
clazzName = line[idx1+1 : len(line)-1]
overridingSet.add(clazzName)
-for clazz in sorted(definitionSet - overridingSet - exclusionSet):
- # these involve function template instantiations, which I can't handle
- if not clazz.startswith("basebmp::BitmapDevice::"):
- print clazz
+for clazz in sorted(definitionSet - overridingSet):
+ print clazz
# add an empty line at the end to make it easier for the removevirtuals plugin to mmap() the output file
print
diff --git a/fpicker/source/office/RemoteFilesDialog.hxx b/fpicker/source/office/RemoteFilesDialog.hxx
index 991da0ae2685..b05399d5e1a6 100644
--- a/fpicker/source/office/RemoteFilesDialog.hxx
+++ b/fpicker/source/office/RemoteFilesDialog.hxx
@@ -76,7 +76,7 @@ public:
virtual void dispose() override;
virtual void Resize() override;
virtual short Execute() override;
- virtual void Show();
+ void Show();
// SvtFileDialog_Base
@@ -91,7 +91,7 @@ public:
virtual const OUString& GetPath() override;
virtual std::vector<OUString> GetPathList() const override;
virtual bool ContentIsFolder( const OUString& rURL ) override;
- virtual bool ContentIsDocument( const OUString& rURL );
+ bool ContentIsDocument( const OUString& rURL );
virtual OUString getCurrentFileText() const override;
virtual void setCurrentFileText( const OUString& rText, bool bSelectAll = false ) override;
diff --git a/framework/inc/macros/xserviceinfo.hxx b/framework/inc/macros/xserviceinfo.hxx
index 2a39fafccf80..e8fb47dfc8b4 100644
--- a/framework/inc/macros/xserviceinfo.hxx
+++ b/framework/inc/macros/xserviceinfo.hxx
@@ -151,7 +151,7 @@ namespace framework{
static css::uno::Sequence< OUString > SAL_CALL impl_getStaticSupportedServiceNames( ); \
static OUString SAL_CALL impl_getStaticImplementationName ( ); \
/* Helper for initialization of service by using own reference! */ \
- virtual void SAL_CALL impl_initService ( ); \
+ void SAL_CALL impl_initService ( ); \
#define DECLARE_XSERVICEINFO \
DECLARE_XSERVICEINFO_NOFACTORY \
diff --git a/i18npool/inc/localedata.hxx b/i18npool/inc/localedata.hxx
index 9ef4ca97a1ef..d61b92c94aa1 100644
--- a/i18npool/inc/localedata.hxx
+++ b/i18npool/inc/localedata.hxx
@@ -90,31 +90,31 @@ public:
virtual css::uno::Sequence< Currency2 > SAL_CALL getAllCurrencies2( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception) override;
virtual css::uno::Sequence< FormatElement > SAL_CALL getAllFormats( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception) override;
virtual css::uno::Sequence< Implementation > SAL_CALL getCollatorImplementations( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception) override;
- virtual OUString SAL_CALL getCollatorRuleByAlgorithm( const css::lang::Locale& rLocale, const OUString& algorithm ) throw(css::uno::RuntimeException, std::exception);
+ OUString SAL_CALL getCollatorRuleByAlgorithm( const css::lang::Locale& rLocale, const OUString& algorithm ) throw(css::uno::RuntimeException, std::exception);
virtual css::uno::Sequence< OUString > SAL_CALL getTransliterations( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception) override;
virtual ForbiddenCharacters SAL_CALL getForbiddenCharacters( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception) override;
virtual css::uno::Sequence< OUString > SAL_CALL getReservedWord( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception) override ;
- virtual css::uno::Sequence< OUString > SAL_CALL getBreakIteratorRules( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception) ;
+ css::uno::Sequence< OUString > SAL_CALL getBreakIteratorRules( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception) ;
virtual css::uno::Sequence< css::lang::Locale > SAL_CALL getAllInstalledLocaleNames() throw(css::uno::RuntimeException, std::exception) override;
virtual css::uno::Sequence< OUString > SAL_CALL getSearchOptions( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception) override;
virtual css::uno::Sequence< OUString > SAL_CALL getCollationOptions( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception) override;
- virtual css::uno::Sequence< css::uno::Sequence< beans::PropertyValue > > SAL_CALL getContinuousNumberingLevels( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception);
- virtual css::uno::Sequence< css::uno::Reference< container::XIndexAccess > > SAL_CALL getOutlineNumberingLevels( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception);
+ css::uno::Sequence< css::uno::Sequence< beans::PropertyValue > > SAL_CALL getContinuousNumberingLevels( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception);
+ css::uno::Sequence< css::uno::Reference< container::XIndexAccess > > SAL_CALL getOutlineNumberingLevels( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception);
// XLocaleData4
virtual css::uno::Sequence< OUString > SAL_CALL getDateAcceptancePatterns( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception) override;
// following methods are used by indexentry service
- virtual css::uno::Sequence< OUString > SAL_CALL getIndexAlgorithm( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException);
- virtual OUString SAL_CALL getDefaultIndexAlgorithm( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException);
- virtual OUString SAL_CALL getIndexKeysByAlgorithm( const css::lang::Locale& rLocale, const OUString& algorithm ) throw(css::uno::RuntimeException);
- virtual OUString SAL_CALL getIndexModuleByAlgorithm( const css::lang::Locale& rLocale, const OUString& algorithm ) throw(css::uno::RuntimeException);
- virtual css::uno::Sequence< UnicodeScript > SAL_CALL getUnicodeScripts( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception);
- virtual css::uno::Sequence< OUString > SAL_CALL getFollowPageWords( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception);
- virtual bool SAL_CALL hasPhonetic( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException);
- virtual bool SAL_CALL isPhonetic( const css::lang::Locale& rLocale, const OUString& algorithm ) throw(css::uno::RuntimeException);
- virtual OUString SAL_CALL getHangingCharacters( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception);
+ css::uno::Sequence< OUString > SAL_CALL getIndexAlgorithm( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException);
+ OUString SAL_CALL getDefaultIndexAlgorithm( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException);
+ OUString SAL_CALL getIndexKeysByAlgorithm( const css::lang::Locale& rLocale, const OUString& algorithm ) throw(css::uno::RuntimeException);
+ OUString SAL_CALL getIndexModuleByAlgorithm( const css::lang::Locale& rLocale, const OUString& algorithm ) throw(css::uno::RuntimeException);
+ css::uno::Sequence< UnicodeScript > SAL_CALL getUnicodeScripts( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception);
+ css::uno::Sequence< OUString > SAL_CALL getFollowPageWords( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception);
+ bool SAL_CALL hasPhonetic( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException);
+ bool SAL_CALL isPhonetic( const css::lang::Locale& rLocale, const OUString& algorithm ) throw(css::uno::RuntimeException);
+ OUString SAL_CALL getHangingCharacters( const css::lang::Locale& rLocale ) throw(css::uno::RuntimeException, std::exception);
//XServiceInfo
virtual OUString SAL_CALL getImplementationName() throw( css::uno::RuntimeException, std::exception ) override;
diff --git a/i18npool/inc/transliterationImpl.hxx b/i18npool/inc/transliterationImpl.hxx
index 990a55263f93..e50b63abb22d 100644
--- a/i18npool/inc/transliterationImpl.hxx
+++ b/i18npool/inc/transliterationImpl.hxx
@@ -108,7 +108,7 @@ private:
css::uno::Reference< XLocaleData4 > mxLocaledata;
css::uno::Reference< css::i18n::XExtendedTransliteration > caseignore;
- virtual bool SAL_CALL loadModuleByName( const OUString& implName,
+ bool SAL_CALL loadModuleByName( const OUString& implName,
css::uno::Reference<css::i18n::XExtendedTransliteration> & body, const css::lang::Locale& rLocale)
throw(css::uno::RuntimeException);
diff --git a/include/basic/sbxcore.hxx b/include/basic/sbxcore.hxx
index 260d04558535..4cc57fa27eff 100644
--- a/include/basic/sbxcore.hxx
+++ b/include/basic/sbxcore.hxx
@@ -54,8 +54,6 @@ protected:
SbxBase& operator=( const SbxBase& );
virtual ~SbxBase();
- virtual bool LoadPrivateData( SvStream&, sal_uInt16 );
- virtual bool StorePrivateData( SvStream& ) const;
virtual sal_uInt32 GetCreator() const { return 0; }
virtual sal_uInt16 GetVersion() const { return 0; }
virtual sal_uInt16 GetSbxId() const { return 0; }
diff --git a/include/canvas/rendering/isurface.hxx b/include/canvas/rendering/isurface.hxx
index 896a4396324f..3f266f94e7b1 100644
--- a/include/canvas/rendering/isurface.hxx
+++ b/include/canvas/rendering/isurface.hxx
@@ -68,8 +68,6 @@ namespace canvas
virtual bool update( const ::basegfx::B2IPoint& rDestPos,
const ::basegfx::B2IRange& rSourceRect,
IColorBuffer& rSource ) = 0;
-
- virtual ::basegfx::B2IVector getSize() = 0;
};
typedef std::shared_ptr< ISurface > ISurfaceSharedPtr;
diff --git a/include/sax/tools/documenthandleradapter.hxx b/include/sax/tools/documenthandleradapter.hxx
index 10b945f83a8a..b36a49705a09 100644
--- a/include/sax/tools/documenthandleradapter.hxx
+++ b/include/sax/tools/documenthandleradapter.hxx
@@ -88,12 +88,12 @@ namespace sax
;
protected:
- virtual void SAL_CALL
+ void SAL_CALL
setDelegate(const css::uno::Reference< css::xml::sax::XDocumentHandler >& delegate)
{
m_handler = delegate;
}
- virtual css::uno::Reference< css::xml::sax::XDocumentHandler > SAL_CALL
+ css::uno::Reference< css::xml::sax::XDocumentHandler > SAL_CALL
getDelegate()
{
return m_handler;
@@ -210,12 +210,12 @@ namespace sax
{
}
- virtual void SAL_CALL
+ void SAL_CALL
setDelegate(const css::uno::Reference< css::xml::sax::XExtendedDocumentHandler >& delegate)
{
m_handler = delegate;
}
- virtual css::uno::Reference< css::xml::sax::XExtendedDocumentHandler > SAL_CALL
+ css::uno::Reference< css::xml::sax::XExtendedDocumentHandler > SAL_CALL
getDelegate()
{
return m_handler;
diff --git a/include/sfx2/viewfrm.hxx b/include/sfx2/viewfrm.hxx
index cbb06866d100..bc89068d85d5 100644
--- a/include/sfx2/viewfrm.hxx
+++ b/include/sfx2/viewfrm.hxx
@@ -143,9 +143,9 @@ public:
static void ActivateToolPanel( const css::uno::Reference< css::frame::XFrame >& i_rFrame, const OUString& i_rPanelURL );
// interne Handler
- SAL_DLLPRIVATE virtual bool SetBorderPixelImpl( const SfxViewShell *pSh, const SvBorder &rBorder );
- SAL_DLLPRIVATE virtual const SvBorder& GetBorderPixelImpl( const SfxViewShell *pSh ) const;
- SAL_DLLPRIVATE virtual void InvalidateBorderImpl( const SfxViewShell *pSh );
+ SAL_DLLPRIVATE bool SetBorderPixelImpl( const SfxViewShell *pSh, const SvBorder &rBorder );
+ SAL_DLLPRIVATE const SvBorder& GetBorderPixelImpl( const SfxViewShell *pSh ) const;
+ SAL_DLLPRIVATE void InvalidateBorderImpl( const SfxViewShell *pSh );
virtual SfxObjectShell* GetObjectShell() override;
sal_uInt16 GetCurViewId() const;
diff --git a/include/svtools/ServerDetailsControls.hxx b/include/svtools/ServerDetailsControls.hxx
index b86a23d52ecb..8a2289e4f59c 100644
--- a/include/svtools/ServerDetailsControls.hxx
+++ b/include/svtools/ServerDetailsControls.hxx
@@ -57,7 +57,7 @@ class DetailsContainer
virtual void setUsername( const OUString& /*rUsername*/ ) { };
virtual void setPassword( const OUString& ) { };
- virtual void setActive( bool bActive = true );
+ void setActive( bool bActive = true );
protected:
void notifyChange( );
diff --git a/include/svx/svdotext.hxx b/include/svx/svdotext.hxx
index 149963c4cdef..132b5b8416f3 100644
--- a/include/svx/svdotext.hxx
+++ b/include/svx/svdotext.hxx
@@ -558,7 +558,7 @@ public:
virtual void onEditOutlinerStatusEvent( EditStatus* pEditStatus );
/** called from the SdrObjEditView during text edit when a chain of boxes is to be updated */
- virtual void onChainingEvent();
+ void onChainingEvent();
diff --git a/include/svx/textchainflow.hxx b/include/svx/textchainflow.hxx
index e2148548b98b..557aa9e847a8 100644
--- a/include/svx/textchainflow.hxx
+++ b/include/svx/textchainflow.hxx
@@ -40,10 +40,10 @@ public:
// Check for flow events in Outliner
virtual void CheckForFlowEvents(SdrOutliner *);
- virtual void ExecuteUnderflow(SdrOutliner *);
+ void ExecuteUnderflow(SdrOutliner *);
// Uses two outliners: one for the non-overflow text and one for overflowing (might be the same)
- virtual void ExecuteOverflow(SdrOutliner *, SdrOutliner *);
+ void ExecuteOverflow(SdrOutliner *, SdrOutliner *);
bool IsOverflow() const;
bool IsUnderflow() const;
@@ -65,7 +65,7 @@ protected:
TextChain *GetTextChain() const;
virtual void impLeaveOnlyNonOverflowingText(SdrOutliner *);
- virtual void impMoveChainedTextToNextLink(SdrOutliner *);
+ void impMoveChainedTextToNextLink(SdrOutliner *);
virtual void impSetFlowOutlinerParams(SdrOutliner *, SdrOutliner *);
diff --git a/include/vcl/split.hxx b/include/vcl/split.hxx
index ceeb007c62e1..a80304e3fdac 100644
--- a/include/vcl/split.hxx
+++ b/include/vcl/split.hxx
@@ -68,7 +68,6 @@ public:
void StartSplit();
void EndSplit();
void Split();
- virtual void Splitting( Point& rSplitPos );
virtual void MouseButtonDown( const MouseEvent& rMEvt ) override;
virtual void Tracking( const TrackingEvent& rTEvt ) override;
diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx
index 67a9aac2afe1..06914273c891 100644
--- a/include/vcl/window.hxx
+++ b/include/vcl/window.hxx
@@ -840,7 +840,6 @@ public:
virtual void KeyUp( const KeyEvent& rKEvt );
virtual void PrePaint(vcl::RenderContext& rRenderContext);
virtual void Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect);
- virtual void PostPaint(vcl::RenderContext& rRenderContext);
void Erase(vcl::RenderContext& rRenderContext);
virtual void Erase() override
diff --git a/include/xmloff/xmlnume.hxx b/include/xmloff/xmlnume.hxx
index 44124ed6c5ca..d522399b9a5e 100644
--- a/include/xmloff/xmlnume.hxx
+++ b/include/xmloff/xmlnume.hxx
@@ -57,7 +57,7 @@ class XMLOFF_DLLPUBLIC SvxXMLNumRuleExport
protected:
/// Override this to add attributes to the <list-style> element.
- SAL_DLLPRIVATE virtual void AddListStyleAttributes();
+ SAL_DLLPRIVATE void AddListStyleAttributes();
SAL_DLLPRIVATE bool exportStyle( const css::uno::Reference< css::style::XStyle >& rStyle );
SAL_DLLPRIVATE void exportOutline();
diff --git a/sd/inc/drawdoc.hxx b/sd/inc/drawdoc.hxx
index 6343217ced19..23e5ecf2984d 100644
--- a/sd/inc/drawdoc.hxx
+++ b/sd/inc/drawdoc.hxx
@@ -139,12 +139,12 @@ class SD_DLLPUBLIC SdDrawDocument : public FmFormModel
private:
OUString msDocAccTitle;
public:
- SAL_DLLPRIVATE virtual void setDocAccTitle( const OUString& rTitle ) { msDocAccTitle = rTitle; }
- SAL_DLLPRIVATE virtual const OUString getDocAccTitle() const { return msDocAccTitle; }
+ SAL_DLLPRIVATE void setDocAccTitle( const OUString& rTitle ) { msDocAccTitle = rTitle; }
+ SAL_DLLPRIVATE const OUString getDocAccTitle() const { return msDocAccTitle; }
private:
bool bReadOnly;
public:
- SAL_DLLPRIVATE virtual bool getDocReadOnly() const { return bReadOnly; }
+ SAL_DLLPRIVATE bool getDocReadOnly() const { return bReadOnly; }
private:
::sd::Outliner* mpOutliner; ///< local outliner for outline mode
::sd::Outliner* mpInternalOutliner; ///< internal outliner for creation of text objects
diff --git a/slideshow/source/engine/eventmultiplexer.cxx b/slideshow/source/engine/eventmultiplexer.cxx
index 95eb58d5e25c..ef9a95945f4f 100644
--- a/slideshow/source/engine/eventmultiplexer.cxx
+++ b/slideshow/source/engine/eventmultiplexer.cxx
@@ -177,7 +177,6 @@ struct EventMultiplexerImpl
maViewRepaintHandlers(),
maShapeListenerHandlers(),
maUserPaintEventHandlers(),
- maShapeCursorHandlers(),
maMouseClickHandlers(),
maMouseDoubleClickHandlers(),
maMouseMoveHandlers(),
@@ -235,9 +234,6 @@ struct EventMultiplexerImpl
UserPaintEventHandlerSharedPtr,
std::vector<UserPaintEventHandlerSharedPtr> > ImplUserPaintEventHandlers;
typedef ThreadUnsafeListenerContainer<
- ShapeCursorEventHandlerSharedPtr,
- std::vector<ShapeCursorEventHandlerSharedPtr> > ImplShapeCursorHandlers;
- typedef ThreadUnsafeListenerContainer<
PrioritizedHandlerEntry<HyperlinkHandler>,
std::vector<PrioritizedHandlerEntry<HyperlinkHandler> > > ImplHyperLinkHandlers;
@@ -292,7 +288,6 @@ struct EventMultiplexerImpl
ImplRepaintHandlers maViewRepaintHandlers;
ImplShapeListenerHandlers maShapeListenerHandlers;
ImplUserPaintEventHandlers maUserPaintEventHandlers;
- ImplShapeCursorHandlers maShapeCursorHandlers;
ImplMouseHandlers maMouseClickHandlers;
ImplMouseHandlers maMouseDoubleClickHandlers;
ImplMouseHandlers maMouseMoveHandlers;
@@ -1004,15 +999,6 @@ bool EventMultiplexer::notifyShapeListenerRemoved(
{ return pHandler->listenerRemoved( xListener, xShape ); } );
}
-bool EventMultiplexer::notifyShapeCursorChange(
- const uno::Reference<drawing::XShape>& xShape,
- sal_Int16 nPointerShape )
-{
- return mpImpl->maShapeCursorHandlers.applyAll(
- [&xShape, &nPointerShape]( const ShapeCursorEventHandlerSharedPtr& pHandler )
- { return pHandler->cursorChanged( xShape, nPointerShape ); } );
-}
-
bool EventMultiplexer::notifyUserPaintColor( RGBColor const& rUserColor )
{
return mpImpl->maUserPaintEventHandlers.applyAll(
diff --git a/slideshow/source/engine/slide/shapemanagerimpl.hxx b/slideshow/source/engine/slide/shapemanagerimpl.hxx
index ea95070b748f..5fbe14f11e56 100644
--- a/slideshow/source/engine/slide/shapemanagerimpl.hxx
+++ b/slideshow/source/engine/slide/shapemanagerimpl.hxx
@@ -149,9 +149,6 @@ private:
virtual bool listenerRemoved( const css::uno::Reference< css::presentation::XShapeEventListener>& xListener,
const css::uno::Reference< css::drawing::XShape>& xShape ) override;
- // ShapeCursorEventHandler interface
-
-
bool cursorChanged( const css::uno::Reference< css::drawing::XShape>& xShape,
sal_Int16 nCursor );
diff --git a/slideshow/source/engine/slideshowimpl.cxx b/slideshow/source/engine/slideshowimpl.cxx
index 0fb582fbc4ef..943c5400d17c 100644
--- a/slideshow/source/engine/slideshowimpl.cxx
+++ b/slideshow/source/engine/slideshowimpl.cxx
@@ -1932,9 +1932,6 @@ void SlideShowImpl::setShapeCursor(
// existing entry found, update with new cursor ID
aIter->second = nPointerShape;
}
-
- maEventMultiplexer.notifyShapeCursorChange(xShape,
- nPointerShape);
}
bool SlideShowImpl::requestCursor( sal_Int16 nCursorShape )
diff --git a/slideshow/source/inc/eventmultiplexer.hxx b/slideshow/source/inc/eventmultiplexer.hxx
index b92cd442ec18..3691425a90e4 100644
--- a/slideshow/source/inc/eventmultiplexer.hxx
+++ b/slideshow/source/inc/eventmultiplexer.hxx
@@ -124,23 +124,6 @@ public:
typedef ::boost::shared_ptr< UserPaintEventHandler > UserPaintEventHandlerSharedPtr;
-/** Interface for handling view events.
-
- Classes implementing this interface can be added to an
- EventMultiplexer object, and are called from there to
- handle view events.
-*/
-class ShapeCursorEventHandler
-{
-public:
- virtual ~ShapeCursorEventHandler() {}
-
- virtual bool cursorChanged( const css::uno::Reference< css::drawing::XShape>& xShape,
- sal_Int16 nCursor ) = 0;
-};
-
-typedef ::boost::shared_ptr< ShapeCursorEventHandler > ShapeCursorEventHandlerSharedPtr;
-
/** This class multiplexes user-activated and
slide-show global events.
@@ -532,17 +515,6 @@ public:
bool notifyShapeListenerRemoved( const css::uno::Reference<css::presentation::XShapeEventListener>& xListener,
const css::uno::Reference<css::drawing::XShape>& xShape );
- /** A new shape cursor was set
-
- This method announces that the given cursor was set for the
- specified shape.
-
- @return true, if at least one handler successfully processed
- the notification.
- */
- bool notifyShapeCursorChange( const css::uno::Reference<css::drawing::XShape>& xShape,
- sal_Int16 nPointerShape );
-
/** Notify a new user paint color
Sending this notification also implies that user paint is
diff --git a/svx/source/inc/fmobj.hxx b/svx/source/inc/fmobj.hxx
index a4fe85c01a21..dba50cf4ec97 100644
--- a/svx/source/inc/fmobj.hxx
+++ b/svx/source/inc/fmobj.hxx
@@ -78,7 +78,7 @@ public:
SAL_DLLPRIVATE virtual void SetModel(SdrModel* pNewModel) override;
- SAL_DLLPRIVATE virtual void clonedFrom(const FmFormObj* _pSource);
+ SAL_DLLPRIVATE void clonedFrom(const FmFormObj* _pSource);
SAL_DLLPRIVATE static css::uno::Reference< css::uno::XInterface> ensureModelEnv(
const css::uno::Reference< css::uno::XInterface>& _rSourceContainer,
diff --git a/svx/source/table/cell.hxx b/svx/source/table/cell.hxx
index 22f216cbcf4a..20ab6b4d8331 100644
--- a/svx/source/table/cell.hxx
+++ b/svx/source/table/cell.hxx
@@ -76,7 +76,7 @@ public:
OutlinerParaObject* GetEditOutlinerParaObject() const;
SVX_DLLPRIVATE void SetStyleSheet( SfxStyleSheet* pStyleSheet, bool bDontRemoveHardAttr );
SVX_DLLPRIVATE virtual SfxStyleSheet* GetStyleSheet() const override;
- SVX_DLLPRIVATE virtual void TakeTextAnchorRect(Rectangle& rAnchorRect) const;
+ SVX_DLLPRIVATE void TakeTextAnchorRect(Rectangle& rAnchorRect) const;
SVX_DLLPRIVATE virtual const SfxItemSet& GetItemSet() const override;
SVX_DLLPRIVATE void SetMergedItemSetAndBroadcast(const SfxItemSet& rSet, bool bClearAllItems);
diff --git a/sw/inc/unotbl.hxx b/sw/inc/unotbl.hxx
index 73770e381484..c04b006e3720 100644
--- a/sw/inc/unotbl.hxx
+++ b/sw/inc/unotbl.hxx
@@ -114,11 +114,11 @@ public:
virtual OUString SAL_CALL getFormula( ) throw(css::uno::RuntimeException, std::exception) override;
virtual void SAL_CALL setFormula( const OUString& aFormula ) throw(css::uno::RuntimeException, std::exception) override;
virtual double SAL_CALL getValue( ) throw(css::uno::RuntimeException, std::exception) override;
- virtual double SAL_CALL getValue( ) const throw(css::uno::RuntimeException, std::exception)
+ double SAL_CALL getValue( ) const throw(css::uno::RuntimeException, std::exception)
{ return const_cast<SwXCell*>(this)->getValue(); };
virtual void SAL_CALL setValue( double nValue ) throw(css::uno::RuntimeException, std::exception) override;
virtual css::table::CellContentType SAL_CALL getType( ) throw(css::uno::RuntimeException, std::exception) override;
- virtual css::table::CellContentType SAL_CALL getType( ) const throw(css::uno::RuntimeException, std::exception)
+ css::table::CellContentType SAL_CALL getType( ) const throw(css::uno::RuntimeException, std::exception)
{ return const_cast<SwXCell*>(this)->getType(); };
virtual sal_Int32 SAL_CALL getError( ) throw(css::uno::RuntimeException, std::exception) override;
diff --git a/sw/source/uibase/ribbar/workctrl.cxx b/sw/source/uibase/ribbar/workctrl.cxx
index 8217ad8e31d9..e420a5e4192a 100644
--- a/sw/source/uibase/ribbar/workctrl.cxx
+++ b/sw/source/uibase/ribbar/workctrl.cxx
@@ -625,7 +625,7 @@ public:
virtual ~SwJumpToSpecificBox_Impl();
protected:
- virtual void Select();
+ void Select();
virtual bool Notify( NotifyEvent& rNEvt ) SAL_OVERRIDE;
};
diff --git a/vcl/inc/BitmapSymmetryCheck.hxx b/vcl/inc/BitmapSymmetryCheck.hxx
index 576a61c2156a..586b498ec6ea 100644
--- a/vcl/inc/BitmapSymmetryCheck.hxx
+++ b/vcl/inc/BitmapSymmetryCheck.hxx
@@ -20,10 +20,10 @@ public:
BitmapSymmetryCheck();
virtual ~BitmapSymmetryCheck();
- bool check(Bitmap& rBitmap);
+ static bool check(Bitmap& rBitmap);
protected:
- virtual bool checkImpl(BitmapReadAccess* pReadAccess);
+ static bool checkImpl(BitmapReadAccess* pReadAccess);
};
#endif // INCLUDED_VCL_INC_BITMAPSYMMETRYCHECK_HXX
diff --git a/vcl/inc/salbmp.hxx b/vcl/inc/salbmp.hxx
index ded6eca6ec6a..bf525141d0d0 100644
--- a/vcl/inc/salbmp.hxx
+++ b/vcl/inc/salbmp.hxx
@@ -72,7 +72,7 @@ public:
virtual bool Replace( const Color& rSearchColor, const Color& rReplaceColor, sal_uLong nTol ) = 0;
- virtual bool GetChecksum(ChecksumType& rChecksum) const
+ bool GetChecksum(ChecksumType& rChecksum) const
{
updateChecksum();
if (!mbChecksumValid)
@@ -82,7 +82,7 @@ public:
return mbChecksumValid;
}
- virtual void InvalidateChecksum()
+ void InvalidateChecksum()
{
mbChecksumValid = false;
}
diff --git a/vcl/qa/cppunit/BitmapFilterTest.cxx b/vcl/qa/cppunit/BitmapFilterTest.cxx
index e0cf3ef1ca8a..ade5acbc6271 100644
--- a/vcl/qa/cppunit/BitmapFilterTest.cxx
+++ b/vcl/qa/cppunit/BitmapFilterTest.cxx
@@ -109,7 +109,7 @@ void BitmapFilterTest::testBlurCorrectness()
// Check that the bitmap is horizontally and vertically symmetrical
BitmapSymmetryCheck symmetryCheck;
- CPPUNIT_ASSERT(symmetryCheck.check(aBitmap24Bit));
+ CPPUNIT_ASSERT(BitmapSymmetryCheck::check(aBitmap24Bit));
{
Bitmap::ScopedReadAccess aReadAccess(aBitmap24Bit);
diff --git a/vcl/qa/cppunit/BitmapTest.cxx b/vcl/qa/cppunit/BitmapTest.cxx
index b0c234b3bbb8..c20c12b9926b 100644
--- a/vcl/qa/cppunit/BitmapTest.cxx
+++ b/vcl/qa/cppunit/BitmapTest.cxx
@@ -121,7 +121,7 @@ void BitmapTest::testScale()
CPPUNIT_ASSERT_EQUAL(static_cast<long>(10), aBitmap24Bit.GetSizePixel().Height());
// Check symmetry of the bitmap
- CPPUNIT_ASSERT(aBitmapSymmetryCheck.check(aBitmap24Bit));
+ CPPUNIT_ASSERT(BitmapSymmetryCheck::check(aBitmap24Bit));
if (bExportBitmap)
{
@@ -137,7 +137,7 @@ void BitmapTest::testScale()
// After scaling the bitmap should still be symmetrical. This check guarantees that
// scaling doesn't misalign the bitmap.
- CPPUNIT_ASSERT(aBitmapSymmetryCheck.check(aBitmap24Bit));
+ CPPUNIT_ASSERT(BitmapSymmetryCheck::check(aBitmap24Bit));
if (bExportBitmap)
{
diff --git a/vcl/source/window/menubarwindow.hxx b/vcl/source/window/menubarwindow.hxx
index 01979047fff7..f59ddeac772e 100644
--- a/vcl/source/window/menubarwindow.hxx
+++ b/vcl/source/window/menubarwindow.hxx
@@ -147,10 +147,10 @@ public:
Rectangle GetMenuBarButtonRectPixel(sal_uInt16 nId);
void RemoveMenuBarButton(sal_uInt16 nId);
bool HandleMenuButtonEvent(sal_uInt16 i_nButtonId);
- virtual void SetMBWHideAccel (bool val) { mbHideAccel = val; }
- virtual bool GetMBWHideAccel (void) const { return mbHideAccel; }
- virtual void SetMBWMenuKey (bool val) { mbMenuKey = val; }
- virtual bool GetMBWMenuKey (void) const { return mbMenuKey; }
+ void SetMBWHideAccel(bool val) { mbHideAccel = val; }
+ bool GetMBWHideAccel() const { return mbHideAccel; }
+ void SetMBWMenuKey(bool val) { mbMenuKey = val; }
+ bool GetMBWMenuKey() const { return mbMenuKey; }
};
#endif // INCLUDED_VCL_SOURCE_WINDOW_MENUBARWINDOW_HXX
diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx
index 6dd4da85a2ba..3a13be39fb58 100644
--- a/vcl/source/window/paint.cxx
+++ b/vcl/source/window/paint.cxx
@@ -607,8 +607,6 @@ void Window::ImplCallPaint(const vcl::Region* pRegion, sal_uInt16 nPaintFlags)
aHelper.DoPaint(pRegion);
else
mpWindowImpl->mnPaintFlags = 0;
-
- PostPaint(*this);
}
void Window::ImplCallOverlapPaint()
@@ -1028,10 +1026,6 @@ void Window::PrePaint(vcl::RenderContext& /*rRenderContext*/)
{
}
-void Window::PostPaint(vcl::RenderContext& /*rRenderContext*/)
-{
-}
-
void Window::Paint(vcl::RenderContext& /*rRenderContext*/, const Rectangle& rRect)
{
CallEventListeners(VCLEVENT_WINDOW_PAINT, const_cast<Rectangle *>(&rRect));
diff --git a/vcl/source/window/split.cxx b/vcl/source/window/split.cxx
index de21f161c778..a39f30bc81e8 100644
--- a/vcl/source/window/split.cxx
+++ b/vcl/source/window/split.cxx
@@ -233,8 +233,6 @@ void Splitter::MouseButtonDown( const MouseEvent& rMEvt )
else
aPos.Y() = mnLastSplitPos;
ImplSplitMousePos( aPos );
- Splitting( aPos );
- ImplSplitMousePos( aPos );
long nTemp = mnSplitPos;
if ( mbHorzSplit )
SetSplitPosPixel( aPos.X() );
@@ -283,8 +281,6 @@ void Splitter::Tracking( const TrackingEvent& rTEvt )
//Point aNewPos = mpRefWin->ScreenToOutputPixel( OutputToScreenPixel( rTEvt.GetMouseEvent().GetPosPixel() ) );
Point aNewPos = mpRefWin->NormalizedScreenToOutputPixel( OutputToNormalizedScreenPixel( rTEvt.GetMouseEvent().GetPosPixel() ) );
ImplSplitMousePos( aNewPos );
- Splitting( aNewPos );
- ImplSplitMousePos( aNewPos );
if ( mbHorzSplit )
{
@@ -407,8 +403,6 @@ void Splitter::ImplKbdTracking( vcl::KeyCode aKeyCode )
break;
}
ImplSplitMousePos( aNewPos );
- Splitting( aNewPos );
- ImplSplitMousePos( aNewPos );
if ( mbHorzSplit )
{
@@ -453,10 +447,6 @@ void Splitter::EndSplit()
maEndSplitHdl.Call( this );
}
-void Splitter::Splitting( Point& /* rSplitPos */ )
-{
-}
-
void Splitter::SetDragRectPixel( const Rectangle& rDragRect, vcl::Window* _pRefWin )
{
maDragRect = rDragRect;
@@ -484,8 +474,6 @@ void Splitter::StartDrag()
// Start-Position ermitteln
maDragPos = mpRefWin->GetPointerPosPixel();
ImplSplitMousePos( maDragPos );
- Splitting( maDragPos );
- ImplSplitMousePos( maDragPos );
if ( mbHorzSplit )
mnStartSplitPos = maDragPos.X();
else
@@ -516,8 +504,6 @@ void Splitter::ImplStartKbdSplitting()
else
maDragPos = Point( aSize.Width()/2, ImplSplitterActive() ? aPos.Y() : mnSplitPos );
ImplSplitMousePos( maDragPos );
- Splitting( maDragPos );
- ImplSplitMousePos( maDragPos );
if ( mbHorzSplit )
mnStartSplitPos = maDragPos.X();
else
@@ -540,8 +526,6 @@ void Splitter::ImplRestoreSplitter()
}
ImplSplitMousePos( aPos );
- Splitting( aPos );
- ImplSplitMousePos( aPos );
long nTemp = mnSplitPos;
if ( mbHorzSplit )
SetSplitPosPixel( aPos.X() );
@@ -632,8 +616,6 @@ void Splitter::KeyInput( const KeyEvent& rKEvt )
else
aPos.Y() = 0;
ImplSplitMousePos( aPos );
- Splitting( aPos );
- ImplSplitMousePos( aPos );
long nTemp = mnSplitPos;
if ( mbHorzSplit )
SetSplitPosPixel( aPos.X() );