diff --git a/code/nel/include/nel/net/module_builder_parts.h b/code/nel/include/nel/net/module_builder_parts.h index 22b863abb..b080e521f 100644 --- a/code/nel/include/nel/net/module_builder_parts.h +++ b/code/nel/include/nel/net/module_builder_parts.h @@ -127,6 +127,8 @@ namespace NLNET class IModuleTrackerCb { public: + virtual ~IModuleTrackerCb() { } + virtual void onTrackedModuleUp(IModuleProxy *moduleProxy) =0; virtual void onTrackedModuleDown(IModuleProxy *moduleProxy) =0; }; diff --git a/code/ryzom/client/src/client_cfg.h b/code/ryzom/client/src/client_cfg.h index 048869cf6..44a195d05 100644 --- a/code/ryzom/client/src/client_cfg.h +++ b/code/ryzom/client/src/client_cfg.h @@ -801,6 +801,7 @@ struct CClientConfig public: /// Constructor. CClientConfig(); + virtual ~CClientConfig() {} static void setValues (); // Set the values of the ClientCfg instance static void setValuesOnFileChange (); // called when cfg modified diff --git a/code/ryzom/client/src/interface_v3/group_map.h b/code/ryzom/client/src/interface_v3/group_map.h index 9f88b2893..09974152d 100644 --- a/code/ryzom/client/src/interface_v3/group_map.h +++ b/code/ryzom/client/src/interface_v3/group_map.h @@ -107,7 +107,7 @@ public: }; public: CGroupMap(const TCtorParam ¶m); - ~CGroupMap(); + virtual ~CGroupMap(); // Add a decoration to the map. The map will call the 'onAdd' method. When this object is destroyed, it will call the 'onRemove' method void addDeco(IDeco *deco); // Remove a decoration from the map. This will also call the 'onRemove' method. It is up to the owner to delete it. diff --git a/code/ryzom/client/src/interface_v3/view_pointer.cpp b/code/ryzom/client/src/interface_v3/view_pointer.cpp index 2f70d382b..e6e6dcaa2 100644 --- a/code/ryzom/client/src/interface_v3/view_pointer.cpp +++ b/code/ryzom/client/src/interface_v3/view_pointer.cpp @@ -48,7 +48,7 @@ CViewPointer::CViewPointer (const TCtorParam ¶m) : CViewBase(param), _Buttons(NLMISC::noButton) { - _PointerX = _PointerY = _PointerOldX = _PointerOldY = 0; + _PointerX = _PointerY = _PointerOldX = _PointerOldY = _PointerDownX = _PointerDownY = 0; _PointerDown = false; _PointerVisible = true; _TxIdDefault = -2; diff --git a/code/ryzom/client/src/r2/dmc/client_edition_module.cpp b/code/ryzom/client/src/r2/dmc/client_edition_module.cpp index fc8ec2b51..4d10f45a4 100644 --- a/code/ryzom/client/src/r2/dmc/client_edition_module.cpp +++ b/code/ryzom/client/src/r2/dmc/client_edition_module.cpp @@ -1381,7 +1381,7 @@ bool CClientEditionModule::loadUserComponent(const std::string& filename, bool m } CHashKeyMD5 md5Id; - uint32 timeStamp; + uint32 timeStamp = 0; if (! compressed) { @@ -1572,6 +1572,9 @@ bool CClientEditionModule::loadUserComponent(const std::string& filename, bool m uncompressedFile[uncompressedFileLength] = '\0'; } + + // TODO: compute md5Id and timeStamp + _UserComponents[filename] = new CUserComponent(filename, uncompressedFile, uncompressedFileLength, compressedFile, compressedFileLength); _UserComponents[filename]->Md5Id = md5Id; _UserComponents[filename]->TimeStamp = timeStamp; diff --git a/code/ryzom/client/src/r2/dmc/dmc.cpp b/code/ryzom/client/src/r2/dmc/dmc.cpp index df18c12f8..5ea173477 100644 --- a/code/ryzom/client/src/r2/dmc/dmc.cpp +++ b/code/ryzom/client/src/r2/dmc/dmc.cpp @@ -556,6 +556,10 @@ void CDynamicMapClient::requestSetNode(const std::string& instanceId, const std: class CNotifySonDeletion : public CEditor::IObserverAction { public: + virtual ~CNotifySonDeletion() + { + } + CInstance &ErasedInstance; CNotifySonDeletion(CInstance &erasedInstance) : ErasedInstance(erasedInstance) {} virtual void doAction(CEditor::IInstanceObserver &obs) @@ -568,6 +572,10 @@ public: class CTraverseEraseRequestedSons : public IInstanceVisitor { public: + virtual ~CTraverseEraseRequestedSons() + { + } + virtual void visit(CInstance &inst) { CNotifySonDeletion notifySonDeletion(inst); diff --git a/code/ryzom/client/src/r2/editor.h b/code/ryzom/client/src/r2/editor.h index 27ca896ea..5aac2e786 100644 --- a/code/ryzom/client/src/r2/editor.h +++ b/code/ryzom/client/src/r2/editor.h @@ -376,6 +376,8 @@ public: struct IInstanceObserver : public NLMISC::CRefCount // refptr'ed observers { + virtual ~IInstanceObserver() {} + typedef NLMISC::CRefPtr TRefPtr; // called when the watched instance has been created virtual void onInstanceCreated(CInstance &/* instance */) {} @@ -970,6 +972,7 @@ public: // allowing for safe removal of observer when they are triggered struct IObserverAction { + virtual ~IObserverAction() { } virtual void doAction(IInstanceObserver &obs) = 0; }; void triggerInstanceObserver(const TInstanceId &id, IObserverAction &action); diff --git a/code/ryzom/common/src/game_share/object.h b/code/ryzom/common/src/game_share/object.h index 880728618..0f74d70fa 100644 --- a/code/ryzom/common/src/game_share/object.h +++ b/code/ryzom/common/src/game_share/object.h @@ -44,6 +44,8 @@ class CSerializeContext; // vistor triggered at traversal of object tree. see CObject::visit struct IObjectVisitor { + virtual ~IObjectVisitor() { } + virtual void visit(CObjectRefId &/* obj */) {} virtual void visit(CObjectString &/* obj */) {} virtual void visit(CObjectNumber &/* obj */) {}