diff --git a/apps/calendar/ajax/events.php b/apps/calendar/ajax/events.php index 1436f634316d41a09d9550d395cc40d0b18071ef..098e539a2de0322c72ce18119646dbe409cdc8e8 100755 --- a/apps/calendar/ajax/events.php +++ b/apps/calendar/ajax/events.php @@ -44,8 +44,8 @@ foreach($events as $event){ $return_event = create_return_event($event, $vevent); $dtstart = $vevent->DTSTART; - $dtend = OC_Calendar_Object::getDTEndFromVEvent($vevent); $start_dt = $dtstart->getDateTime(); + $dtend = OC_Calendar_Object::getDTEndFromVEvent($vevent); $end_dt = $dtend->getDateTime(); if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE){ $return_event['allDay'] = true; diff --git a/apps/calendar/lib/object.php b/apps/calendar/lib/object.php index 230c610d35a4305df3711857d1b26a0aa103aad7..b84e575bc8358c2baf68ad8fd543517021d7ea9c 100644 --- a/apps/calendar/lib/object.php +++ b/apps/calendar/lib/object.php @@ -309,6 +309,8 @@ class OC_Calendar_Object{ $dtend = $vevent->DTEND; }else{ $dtend = clone $vevent->DTSTART; + // clone creates a shallow copy, also clone DateTime + $dtend->setDateTime(clone $dtend->getDateTime(), $dtend->getDateType()); if ($vevent->DURATION){ $duration = strval($vevent->DURATION); $invert = 0; @@ -817,4 +819,4 @@ class OC_Calendar_Object{ return $vcalendar; } -} \ No newline at end of file +}