fix(calendar): Fix NSData returns instead of NSString on c_cycleinfo depending on database issue. CLoses #5940.

This commit is contained in:
smizrahi
2024-03-12 09:45:10 +01:00
parent 599c40b9f6
commit 5215aa4f41

View File

@@ -1255,7 +1255,12 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
NSInteger offset;
id tz;
content = [theRecord objectForKey: @"c_cycleinfo"];
if ([theRecord objectForKey: @"c_cycleinfo"] && [[theRecord objectForKey: @"c_cycleinfo"] isKindOfClass: [NSData class]]) {
content = [NSString stringWithUTF8String: [[theRecord objectForKey: @"c_cycleinfo"] bytes]];
} else if ([theRecord objectForKey: @"c_cycleinfo"] && [[theRecord objectForKey: @"c_cycleinfo"] isKindOfClass: [NSString class]]) {
content = [theRecord objectForKey: @"c_cycleinfo"];
}
if (![content isNotNull])
{
// If c_iscycle is set but c_cycleinfo is null, that means we're dealing with a vcalendar that
@@ -1283,6 +1288,7 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
return;
}
cycleinfo = [content propertyList];
if (!cycleinfo)
{