memory leak fixes

This commit is contained in:
spider%netscape.com 1998-10-27 00:50:12 +00:00
parent 1c06413d95
commit 9907326448
4 changed files with 34 additions and 10 deletions

View File

@ -402,6 +402,9 @@ nsEventStatus nsCalMultiDayViewCanvas::Action(nsIXPFCCommand * aCommand)
static NS_DEFINE_IID(kCalDateTimeIID, NS_IDATETIME_IID);
nsresult res = nsRepository::CreateInstance(kCalDateTimeCID,nsnull, kCalDateTimeCID, (void **)&nsdatetime);
if (NS_OK == res)
nsdatetime->Init();
/*
* Apply to all children ....
*/

View File

@ -211,6 +211,8 @@ nsresult nsCalTimeContext::SetDefaultDateTime()
if (NS_OK != res)
return res;
mDate->Init();
y = mDate->GetYear();
mo = mDate->GetMonth();
d = mDate->GetDay();
@ -253,6 +255,8 @@ nsresult nsCalTimeContext::SetStartTime(PRUint32 aYear,
if (NS_OK != res)
return res;
mStartTime->Init();
}
mStartTime->SetYear(aYear);
@ -285,6 +289,9 @@ nsresult nsCalTimeContext::SetEndTime(PRUint32 aYear,
if (NS_OK != res)
return res;
mEndTime->Init();
}
mEndTime->SetYear(aYear);
@ -317,6 +324,9 @@ nsresult nsCalTimeContext::SetFirstVisibleTime(PRUint32 aYear,
if (NS_OK != res)
return res;
mFirstVisibleTime->Init();
}
mFirstVisibleTime->SetYear(aYear);
@ -349,6 +359,9 @@ nsresult nsCalTimeContext::SetLastVisibleTime(PRUint32 aYear,
if (NS_OK != res)
return res;
mLastVisibleTime->Init();
}
mLastVisibleTime->SetYear(aYear);
@ -381,6 +394,9 @@ nsresult nsCalTimeContext::SetMajorIncrement(PRUint32 aYear,
if (NS_OK != res)
return res;
mMajorIncrement->Init();
}
mMajorIncrement->SetYear(aYear);
mMajorIncrement->SetMonth(aMonth);
@ -412,6 +428,9 @@ nsresult nsCalTimeContext::SetMinorIncrement(PRUint32 aYear,
if (NS_OK != res)
return res;
mMinorIncrement->Init();
}
mMinorIncrement->SetYear(aYear);
mMinorIncrement->SetMonth(aMonth);

View File

@ -1234,7 +1234,7 @@ nsresult nsCalMonthContextController::AddToActionList(DateTime d)
nsresult res = nsRepository::CreateInstance(kCalDateTimeCID,nsnull, kCalDateTimeCID, (void **)&nsdatetime);
if (NS_OK == res)
{
// XXX Deal with ref counting here
nsdatetime->Init();
DateTime * dstar = new DateTime(d.getTime());
nsdatetime->SetDateTime(dstar);
if ( -1 == m_ActionDateList->InsertBinary(nsdatetime,(nsVectorCompareProc)nsDateTime_SortAscending, PR_FALSE /* do not allow dups */))

View File

@ -28,7 +28,9 @@ static NS_DEFINE_IID(kCDateTimeCID, NS_DATETIME_CID);
nsDateTime :: nsDateTime()
{
NS_INIT_REFCNT();
Init();
mUnicodeString = nsnull;
mDateTime = nsnull;
}
nsDateTime :: ~nsDateTime()
@ -50,10 +52,11 @@ NS_IMPL_RELEASE(nsDateTime)
nsresult nsDateTime :: Init()
{
mUnicodeString = nsnull;
mDateTime = new DateTime();
mUnicodeString = new UnicodeString();
if (nsnull == mDateTime)
mDateTime = new DateTime();
if (nsnull == mUnicodeString)
mUnicodeString = new UnicodeString();
return NS_OK ;
}
@ -238,13 +241,12 @@ nsIDateTime * nsDateTime :: Copy()
static NS_DEFINE_IID(kCalDateTimeIID, NS_IDATETIME_IID);
nsresult res = nsRepository::CreateInstance(kCalDateTimeCID,
nsnull,
kCalDateTimeCID,
(void **)&datetime);
nsnull,
kCalDateTimeCID,
(void **)&datetime);
if (NS_OK != res)
return nsnull;
datetime->mDateTime = new DateTime(*mDateTime);
datetime->mUnicodeString = new UnicodeString(*mUnicodeString);