mirror of
https://github.com/tumic0/GPXSee.git
synced 2024-11-28 13:41:16 +01:00
Properly handle self-asignments
This commit is contained in:
parent
2f24bb5462
commit
aba78f3baa
@ -37,6 +37,7 @@ Matrix::Matrix(const Matrix& M)
|
|||||||
|
|
||||||
Matrix &Matrix::operator=(const Matrix &M)
|
Matrix &Matrix::operator=(const Matrix &M)
|
||||||
{
|
{
|
||||||
|
if (this != &M) {
|
||||||
if (_h != M._h || _w != M._w) {
|
if (_h != M._h || _w != M._w) {
|
||||||
if (!isNull())
|
if (!isNull())
|
||||||
delete[] _m;
|
delete[] _m;
|
||||||
@ -51,6 +52,7 @@ Matrix &Matrix::operator=(const Matrix &M)
|
|||||||
for (size_t i = 0; i < _h; i++)
|
for (size_t i = 0; i < _h; i++)
|
||||||
for (size_t j = 0; j < _w; j++)
|
for (size_t j = 0; j < _w; j++)
|
||||||
m(i,j) = M.m(i,j);
|
m(i,j) = M.m(i,j);
|
||||||
|
}
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
@ -128,6 +128,7 @@ Projection::~Projection()
|
|||||||
|
|
||||||
Projection &Projection::operator=(const Projection &p)
|
Projection &Projection::operator=(const Projection &p)
|
||||||
{
|
{
|
||||||
|
if (this != &p) {
|
||||||
delete _ct;
|
delete _ct;
|
||||||
|
|
||||||
_gcs = p._gcs;
|
_gcs = p._gcs;
|
||||||
@ -135,6 +136,7 @@ Projection &Projection::operator=(const Projection &p)
|
|||||||
_ct = p._ct ? p._ct->clone() : 0;
|
_ct = p._ct ? p._ct->clone() : 0;
|
||||||
_geographic = p._geographic;
|
_geographic = p._geographic;
|
||||||
_cs = p._cs;
|
_cs = p._cs;
|
||||||
|
}
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user