diff options
| author | jackpoz <giacomopoz@gmail.com> | 2014-04-01 22:49:15 +0200 |
|---|---|---|
| committer | jackpoz <giacomopoz@gmail.com> | 2014-04-02 20:42:46 +0200 |
| commit | 0930482fa4ac8f65d64c4b99e8c1589050a8c162 (patch) | |
| tree | 00992bc66730347df37e4f7ee2d7af68d5e285eb /src/server/game/Entities/Object | |
| parent | b7ab8a13322007ab9aa59ec4bc3ef14b9c7e0d7f (diff) | |
Core/Misc: Fix uninitialized values
Fix Position members not being always initialized.
Valgrind log:
at : Position::NormalizeOrientation(float) (Object.h:388)
by : Position::SetOrientation(float) (Object.h:315)
by : Position::Relocate(Position const&) (Object.h:310)
by : spell_ulduar_stone_grip::spell_ulduar_stone_grip_AuraScript::OnRemoveVehicle(AuraEffect const*, AuraEffectHandleModes) (boss_kologarn.cpp:592)
Diffstat (limited to 'src/server/game/Entities/Object')
| -rw-r--r-- | src/server/game/Entities/Object/Object.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index 8d3b1ff9554..d55e357de1d 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -273,6 +273,11 @@ class Object struct Position { + Position(float x = 0, float y = 0, float z = 0, float o = 0) + : m_positionX(x), m_positionY(y), m_positionZ(z), m_orientation(NormalizeOrientation(o)) { } + + Position(const Position &loc) { Relocate(loc); } + struct PositionXYZStreamer { explicit PositionXYZStreamer(Position& pos) : m_pos(&pos) { } @@ -479,7 +484,7 @@ class WorldLocation : public Position public: explicit WorldLocation(uint32 _mapid = MAPID_INVALID, float _x = 0, float _y = 0, float _z = 0, float _o = 0) : m_mapId(_mapid) { Relocate(_x, _y, _z, _o); } - WorldLocation(const WorldLocation &loc) { WorldRelocate(loc); } + WorldLocation(const WorldLocation &loc) : Position(loc) { WorldRelocate(loc); } void WorldRelocate(const WorldLocation &loc) { m_mapId = loc.GetMapId(); Relocate(loc); } |
