diff --git a/SOPE/NGCards/CardVersitRenderer.m b/SOPE/NGCards/CardVersitRenderer.m index 044528afc..db46bbd35 100644 --- a/SOPE/NGCards/CardVersitRenderer.m +++ b/SOPE/NGCards/CardVersitRenderer.m @@ -127,17 +127,23 @@ if (order) { - NSMutableArray *orderedElements; + NSMutableArray *orderedElements, *originalElements; + NSArray *currentChildren; int i, c; + originalElements = [NSMutableArray arrayWithArray: [aGroup children]]; orderedElements = [NSMutableArray array]; c = [order count]; for (i = 0; i < c; i++) { - [orderedElements addObjectsFromArray: [aGroup childrenWithTag: [order objectAtIndex: i]]]; + currentChildren = [aGroup childrenWithTag: [order objectAtIndex: i]]; + [orderedElements addObjectsFromArray: currentChildren]; + [originalElements removeObjectsInArray: currentChildren]; } + // We add the remaining, unordered elements + [orderedElements addObjectsFromArray: originalElements]; children = [orderedElements objectEnumerator]; } else diff --git a/SOPE/NGCards/iCalCalendar.m b/SOPE/NGCards/iCalCalendar.m index ab36e90ed..09f629cf1 100644 --- a/SOPE/NGCards/iCalCalendar.m +++ b/SOPE/NGCards/iCalCalendar.m @@ -212,7 +212,7 @@ - (NSArray *) orderOfElements { - return [NSArray arrayWithObjects: @"prodid", @"version", @"method", @"calscale", @"x-wr-calname", + return [NSArray arrayWithObjects: @"prodid", @"version", @"method", @"calscale", @"vtimezone", @"vevent", @"vtodo", @"vjournal", @"vfreebusy", nil]; }