[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/3.5/kdepim/libkcal
From: David Jarvie <software () astrojar ! org ! uk>
Date: 2007-07-15 10:51:46
Message-ID: 1184496706.232015.13974.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 688197 by djarvie:
Fix memory leak when reloading calendar
M +21 -3 icalformatimpl.cpp
--- branches/KDE/3.5/kdepim/libkcal/icalformatimpl.cpp #688196:688197
@@ -1982,7 +1982,13 @@
while (c) {
// kdDebug(5800) << "----Todo found" << endl;
Todo *todo = readTodo(c);
- if (todo && !cal->todo(todo->uid())) cal->addTodo(todo);
+ if (todo) {
+ if (!cal->todo(todo->uid())) {
+ cal->addTodo(todo);
+ } else {
+ delete todo;
+ }
+ }
c = icalcomponent_get_next_component(calendar,ICAL_VTODO_COMPONENT);
}
@@ -1991,7 +1997,13 @@
while (c) {
// kdDebug(5800) << "----Event found" << endl;
Event *event = readEvent(c, ctz);
- if (event && !cal->event(event->uid())) cal->addEvent(event);
+ if (event) {
+ if (!cal->event(event->uid())) {
+ cal->addEvent(event);
+ } else {
+ delete event;
+ }
+ }
c = icalcomponent_get_next_component(calendar,ICAL_VEVENT_COMPONENT);
}
@@ -2000,7 +2012,13 @@
while (c) {
// kdDebug(5800) << "----Journal found" << endl;
Journal *journal = readJournal(c);
- if (journal && !cal->journal(journal->uid())) cal->addJournal(journal);
+ if (journal) {
+ if (!cal->journal(journal->uid())) {
+ cal->addJournal(journal);
+ } else {
+ delete journal;
+ }
+ }
c = icalcomponent_get_next_component(calendar,ICAL_VJOURNAL_COMPONENT);
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic