-rw-r--r-- | libkcal/incidence.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libkcal/incidence.cpp b/libkcal/incidence.cpp index 549014e..39c14f5 100644 --- a/libkcal/incidence.cpp +++ b/libkcal/incidence.cpp @@ -54,17 +54,24 @@ Incidence::Incidence( const Incidence &i ) : IncidenceBase( i ) mDescription = i.mDescription; mSummary = i.mSummary; mCategories = i.mCategories; // Incidence *mRelatedTo; Incidence *mRelatedTo; mRelatedTo = 0; mRelatedToUid = i.mRelatedToUid; // QPtrList<Incidence> mRelations; QPtrList<Incidence> mRelations; mExDates = i.mExDates; - mAttachments = i.mAttachments; + QPtrListIterator<Attachment> itat( i.mAttachments ); + Attachment *at; + while( (at = itat.current()) ) { + Attachment *a = new Attachment( *at ); + mAttachments.append( a ); + ++itat; + } + mAttachments.setAutoDelete( true ); mResources = i.mResources; mSecrecy = i.mSecrecy; mPriority = i.mPriority; mLocation = i.mLocation; mCancelled = i.mCancelled; mHasStartDate = i.mHasStartDate; QPtrListIterator<Alarm> it( i.mAlarms ); const Alarm *a; @@ -752,16 +759,17 @@ bool Incidence::isAlarmEnabled() const return false; } #include <stdlib.h> Recurrence *Incidence::recurrence() { if ( ! mRecurrence ) { mRecurrence = new Recurrence(this); mRecurrence->setRecurStart( dtStart() ); + mRecurrence->setRecurReadOnly( isReadOnly()); //qDebug("creating new recurence "); //abort(); } return mRecurrence; } void Incidence::setRecurrence( Recurrence * r) { if ( mRecurrence ) |