-rw-r--r-- | libopie/pim/oevent.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/libopie/pim/oevent.cpp b/libopie/pim/oevent.cpp index 56ea10d..3ba8a52 100644 --- a/libopie/pim/oevent.cpp +++ b/libopie/pim/oevent.cpp @@ -233,37 +233,43 @@ int OEvent::rtti() { bool OEvent::loadFromStream( QDataStream& ) { return true; } bool OEvent::saveToStream( QDataStream& )const { return true; } void OEvent::changeOrModify() { if ( data->count != 1 ) { data->deref(); Data* d2 = new Data; d2->description = data->description; d2->location = data->location; - d2->manager = data->manager; - d2->recur = data->recur; + + if (data->manager ) + d2->manager = new OPimNotifyManager( *data->manager ); + + if ( data->recur ) + d2->recur = new ORecur( *data->recur ); + d2->note = data->note; d2->created = data->created; d2->start = data->start; d2->end = data->end; d2->isAllDay = data->isAllDay; d2->timezone = data->timezone; d2->parent = data->parent; - d2->child = data->child; - if (d2->child ) + if ( data->child ) { + d2->child = new QArray<int>( *data->child ); d2->child->detach(); + } data = d2; } } void OEvent::deref() { if ( data->deref() ) { delete data; data = 0; } } // FIXME QMap<int, QString> OEvent::toMap()const { |