author | zecke <zecke> | 2002-09-22 23:32:49 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-09-22 23:32:49 (UTC) |
commit | d7098ef25f7f4ebe5678061aa3a3c0bd1f077f7f (patch) (unidiff) | |
tree | 5ff52b48fd514c6f24da6d3204bc98b66c48a652 /libopie | |
parent | 4f142e98ee63e88fa0df61161b93228ee719d551 (diff) | |
download | opie-d7098ef25f7f4ebe5678061aa3a3c0bd1f077f7f.zip opie-d7098ef25f7f4ebe5678061aa3a3c0bd1f077f7f.tar.gz opie-d7098ef25f7f4ebe5678061aa3a3c0bd1f077f7f.tar.bz2 |
Two brown paper bags later OTodo is ok again... pointers can be so fscking awesome
I had problems with QShared because I forgot to copy it in &operator=
And the other one was d = 0
-rw-r--r-- | libopie/pim/orecordlist.h | 12 | ||||
-rw-r--r-- | libopie/pim/otodo.cpp | 25 | ||||
-rw-r--r-- | libopie/pim/otodoaccessxml.cpp | 2 |
3 files changed, 21 insertions, 18 deletions
diff --git a/libopie/pim/orecordlist.h b/libopie/pim/orecordlist.h index 75bb33c..36728b8 100644 --- a/libopie/pim/orecordlist.h +++ b/libopie/pim/orecordlist.h | |||
@@ -40,7 +40,7 @@ public: | |||
40 | * a * operator ;) | 40 | * a * operator ;) |
41 | * use it like this T = (*it); | 41 | * use it like this T = (*it); |
42 | */ | 42 | */ |
43 | T &operator*(); | 43 | T operator*(); |
44 | ORecordListIterator &operator++(); | 44 | ORecordListIterator &operator++(); |
45 | ORecordListIterator &operator--(); | 45 | ORecordListIterator &operator--(); |
46 | 46 | ||
@@ -99,6 +99,7 @@ ORecordListIterator<T>::ORecordListIterator() { | |||
99 | m_current = 0; | 99 | m_current = 0; |
100 | m_temp = 0l; | 100 | m_temp = 0l; |
101 | m_end = true; | 101 | m_end = true; |
102 | m_record = T(); | ||
102 | } | 103 | } |
103 | template <class T> | 104 | template <class T> |
104 | ORecordListIterator<T>::~ORecordListIterator() { | 105 | ORecordListIterator<T>::~ORecordListIterator() { |
@@ -107,7 +108,7 @@ ORecordListIterator<T>::~ORecordListIterator() { | |||
107 | 108 | ||
108 | template <class T> | 109 | template <class T> |
109 | ORecordListIterator<T>::ORecordListIterator( const ORecordListIterator<T>& it) { | 110 | ORecordListIterator<T>::ORecordListIterator( const ORecordListIterator<T>& it) { |
110 | qWarning("ORecordListIterator"); | 111 | // qWarning("ORecordListIterator copy c'tor"); |
111 | m_uids = it.m_uids; | 112 | m_uids = it.m_uids; |
112 | m_current = it.m_current; | 113 | m_current = it.m_current; |
113 | m_temp = it.m_temp; | 114 | m_temp = it.m_temp; |
@@ -121,14 +122,14 @@ ORecordListIterator<T> &ORecordListIterator<T>::operator=( const ORecordListIter | |||
121 | m_current = it.m_current; | 122 | m_current = it.m_current; |
122 | m_temp = it.m_temp; | 123 | m_temp = it.m_temp; |
123 | m_end = it.m_end; | 124 | m_end = it.m_end; |
124 | m_record = it.m_record; | 125 | // m_record = it.m_record; |
125 | 126 | ||
126 | return *this; | 127 | return *this; |
127 | } | 128 | } |
128 | 129 | ||
129 | template <class T> | 130 | template <class T> |
130 | T &ORecordListIterator<T>::operator*() { | 131 | T ORecordListIterator<T>::operator*() { |
131 | qWarning("operator* %d %d", m_current, m_uids[m_current] ); | 132 | // qWarning("operator* %d %d", m_current, m_uids[m_current] ); |
132 | if (!m_end ) | 133 | if (!m_end ) |
133 | m_record = m_temp->find( m_uids[m_current] ); | 134 | m_record = m_temp->find( m_uids[m_current] ); |
134 | else | 135 | else |
@@ -193,7 +194,6 @@ ORecordList<T>::~ORecordList() { | |||
193 | } | 194 | } |
194 | template <class T> | 195 | template <class T> |
195 | ORecordList<T>::Iterator ORecordList<T>::begin() { | 196 | ORecordList<T>::Iterator ORecordList<T>::begin() { |
196 | qWarning("ORecordList::begin"); | ||
197 | Iterator it( m_ids, m_acc ); | 197 | Iterator it( m_ids, m_acc ); |
198 | return it; | 198 | return it; |
199 | } | 199 | } |
diff --git a/libopie/pim/otodo.cpp b/libopie/pim/otodo.cpp index b3c14e6..cc46b21 100644 --- a/libopie/pim/otodo.cpp +++ b/libopie/pim/otodo.cpp | |||
@@ -36,12 +36,13 @@ OTodo::OTodo(const OTodo &event ) | |||
36 | : OPimRecord( event ), data( event.data ) | 36 | : OPimRecord( event ), data( event.data ) |
37 | { | 37 | { |
38 | data->ref(); | 38 | data->ref(); |
39 | qWarning("ref up"); | 39 | // qWarning("ref up"); |
40 | } | 40 | } |
41 | OTodo::~OTodo() { | 41 | OTodo::~OTodo() { |
42 | qWarning("~OTodo " + data->sum ); | 42 | |
43 | // qWarning("~OTodo " ); | ||
43 | if ( data->deref() ) { | 44 | if ( data->deref() ) { |
44 | qWarning("OTodo::dereffing"); | 45 | // qWarning("OTodo::dereffing"); |
45 | delete data; | 46 | delete data; |
46 | data = 0l; | 47 | data = 0l; |
47 | } | 48 | } |
@@ -54,7 +55,7 @@ OTodo::OTodo(bool completed, int priority, | |||
54 | bool hasDate, QDate date, int uid ) | 55 | bool hasDate, QDate date, int uid ) |
55 | : OPimRecord( uid ) | 56 | : OPimRecord( uid ) |
56 | { | 57 | { |
57 | qWarning("OTodoData " + summary); | 58 | // qWarning("OTodoData " + summary); |
58 | setCategories( category ); | 59 | setCategories( category ); |
59 | 60 | ||
60 | data = new OTodoData; | 61 | data = new OTodoData; |
@@ -77,12 +78,12 @@ OTodo::OTodo(bool completed, int priority, | |||
77 | bool hasDate, QDate date, int uid ) | 78 | bool hasDate, QDate date, int uid ) |
78 | : OPimRecord( uid ) | 79 | : OPimRecord( uid ) |
79 | { | 80 | { |
80 | qWarning("OTodoData" + summary); | 81 | // qWarning("OTodoData" + summary); |
81 | setCategories( idsFromString( category.join(";") ) ); | 82 | setCategories( idsFromString( category.join(";") ) ); |
82 | 83 | ||
83 | data = new OTodoData; | 84 | data = new OTodoData; |
84 | data->date = date; | ||
85 | 85 | ||
86 | data->date = date; | ||
86 | data->isCompleted = completed; | 87 | data->isCompleted = completed; |
87 | data->hasDate = hasDate; | 88 | data->hasDate = hasDate; |
88 | data->priority = priority; | 89 | data->priority = priority; |
@@ -160,6 +161,7 @@ void OTodo::setHasAlarmDateTime( bool hasAlarmDateTime ) | |||
160 | } | 161 | } |
161 | void OTodo::setDescription(const QString &desc ) | 162 | void OTodo::setDescription(const QString &desc ) |
162 | { | 163 | { |
164 | qWarning( "desc " + desc ); | ||
163 | changeOrModify(); | 165 | changeOrModify(); |
164 | data->desc = Qtopia::simplifyMultiLineSpace(desc ); | 166 | data->desc = Qtopia::simplifyMultiLineSpace(desc ); |
165 | } | 167 | } |
@@ -307,19 +309,20 @@ bool OTodo::operator==(const OTodo &toDoEvent )const | |||
307 | } | 309 | } |
308 | void OTodo::deref() { | 310 | void OTodo::deref() { |
309 | 311 | ||
310 | //qWarning("deref in ToDoEvent"); | 312 | // qWarning("deref in ToDoEvent"); |
311 | if ( data->deref() ) { | 313 | if ( data->deref() ) { |
312 | //qWarning("deleting"); | 314 | // qWarning("deleting"); |
313 | delete data; | 315 | delete data; |
314 | d= 0; | 316 | data= 0; |
315 | } | 317 | } |
316 | } | 318 | } |
317 | OTodo &OTodo::operator=(const OTodo &item ) | 319 | OTodo &OTodo::operator=(const OTodo &item ) |
318 | { | 320 | { |
319 | OPimRecord::operator=( item ); | 321 | // OPimRecord::operator=( item ); |
320 | //qWarning("operator= ref "); | 322 | //qWarning("operator= ref "); |
321 | item.data->ref(); | 323 | item.data->ref(); |
322 | deref(); | 324 | deref(); |
325 | data = item.data; | ||
323 | 326 | ||
324 | return *this; | 327 | return *this; |
325 | } | 328 | } |
@@ -355,7 +358,7 @@ QMap<QString, QString> OTodo::toExtraMap()const { | |||
355 | */ | 358 | */ |
356 | void OTodo::changeOrModify() { | 359 | void OTodo::changeOrModify() { |
357 | if ( data->count != 1 ) { | 360 | if ( data->count != 1 ) { |
358 | qWarning("changeOrModify"); | 361 | // qWarning("changeOrModify"); |
359 | data->deref(); | 362 | data->deref(); |
360 | OTodoData* d2 = new OTodoData(); | 363 | OTodoData* d2 = new OTodoData(); |
361 | copy(data, d2 ); | 364 | copy(data, d2 ); |
diff --git a/libopie/pim/otodoaccessxml.cpp b/libopie/pim/otodoaccessxml.cpp index 21756c9..3a72881 100644 --- a/libopie/pim/otodoaccessxml.cpp +++ b/libopie/pim/otodoaccessxml.cpp | |||
@@ -68,7 +68,6 @@ bool OTodoAccessXML::load() { | |||
68 | 68 | ||
69 | element = element->nextChild(); | 69 | element = element->nextChild(); |
70 | } | 70 | } |
71 | return true; | ||
72 | }else { | 71 | }else { |
73 | qWarning("could not parse"); | 72 | qWarning("could not parse"); |
74 | return false;; | 73 | return false;; |
@@ -76,6 +75,7 @@ bool OTodoAccessXML::load() { | |||
76 | delete root; | 75 | delete root; |
77 | 76 | ||
78 | m_opened = true; | 77 | m_opened = true; |
78 | qWarning("Access %d" + m_events.count() ); | ||
79 | return true; | 79 | return true; |
80 | } | 80 | } |
81 | bool OTodoAccessXML::reload() { | 81 | bool OTodoAccessXML::reload() { |