[CrystalSpace] #985: FIx compiler warning about non-virtual destructor for class LightComponent (fix included)
"CrystalSpace" <[email protected]> Fri, 05 Jul 2013 19:11:46 -0000
| Newsgroups | gmane.comp.graphics.crystalspace.tracker |
|---|---|
| Message-ID | <[email protected]> |
#985: FIx compiler warning about non-virtual destructor for class LightComponent
(fix included)
--------------------------------+-------------------------------------------
Reporter: ralphcampbell | Owner: admin
Type: defect | Status: new
Priority: minor | Milestone:
Component: other applications | Version: V2.1
Keywords: |
--------------------------------+-------------------------------------------
I got this compiler warning with --enable-debug:
{{{
apps/tools/lighter2/scene.cpp:742:43: warning: deleting object of
polymorphic class type ‘lighter::RaytracerLighting’ which has non-virtual
destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
apps/tools/lighter2/scene.cpp:743:46: warning: deleting object of
polymorphic class type ‘lighter::PhotonmapperLighting’ which has non-
virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-
dtor]
}}}
The fix is simple:
{{{
Index: apps/tools/lighter2/lightcomponent.h
===================================================================
--- apps/tools/lighter2/lightcomponent.h (revision 39458)
+++ apps/tools/lighter2/lightcomponent.h (working copy)
@@ -36,7 +36,7 @@
public:
// Setup
LightComponent ();
- ~LightComponent ();
+ virtual ~LightComponent ();
bool SupportsPDLights ();
Index: apps/tools/lighter2/photonmapperlighting.h
===================================================================
--- apps/tools/lighter2/photonmapperlighting.h (revision 39458)
+++ apps/tools/lighter2/photonmapperlighting.h (working copy)
@@ -60,7 +60,7 @@
public:
// Setup
PhotonmapperLighting ();
- ~PhotonmapperLighting ();
+ virtual ~PhotonmapperLighting ();
virtual csColor ComputeElementLightingComponent(Sector* sector,
ElementProxy element, SamplerSequence<2>& lightSampler,
Index: apps/tools/lighter2/raytracerlighting.h
===================================================================
--- apps/tools/lighter2/raytracerlighting.h (revision 39458)
+++ apps/tools/lighter2/raytracerlighting.h (working copy)
@@ -43,7 +43,7 @@
public:
// Setup
RaytracerLighting (const csVector3& tangentSpaceNorm, size_t
subLightmapNum);
- ~RaytracerLighting ();
+ virtual ~RaytracerLighting ();
virtual csColor ComputeElementLightingComponent(Sector* sector,
ElementProxy element, SamplerSequence<2>& lightSampler,
}}}
--
Ticket URL: <http://www.crystalspace3d.org/trac/CS/ticket/985>
CrystalSpace <http://www.crystalspace3d.org/>
Free open-source 3D SDK.
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
crystal-tracker mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-tracker