event-widget: fix compare function

This commit is contained in:
Erick Pérez Castellanos
2015-01-20 13:11:59 -05:00
parent f7beeadbb2
commit 0dd6458ae8
+26 -8
View File
@@ -1182,19 +1182,18 @@ gcal_event_widget_compare_for_single_day (GcalEventWidget *widget1,
GcalEventWidgetPrivate *priv1; GcalEventWidgetPrivate *priv1;
GcalEventWidgetPrivate *priv2; GcalEventWidgetPrivate *priv2;
priv1 = gcal_event_widget_get_instance_private (widget1);
priv2 = gcal_event_widget_get_instance_private (widget2);
if (gcal_event_widget_is_multiday (widget1) && gcal_event_widget_is_multiday (widget2))
{
time_t time_s1, time_s2; time_t time_s1, time_s2;
time_t time_e1, time_e2; time_t time_e1, time_e2;
time_t result; time_t result;
priv1 = gcal_event_widget_get_instance_private (widget1); time_s1 = icaltime_as_timet (*(priv1->dt_start));
priv2 = gcal_event_widget_get_instance_private (widget2); time_s2 = icaltime_as_timet (*(priv2->dt_start));
time_e1 = time_s1 = icaltime_as_timet (*(priv1->dt_start));
time_e2 = time_s2 = icaltime_as_timet (*(priv2->dt_start));
if (priv1->dt_end != NULL)
time_e1 = icaltime_as_timet (*(priv1->dt_end)); time_e1 = icaltime_as_timet (*(priv1->dt_end));
if (priv2->dt_end)
time_e2 = icaltime_as_timet (*(priv2->dt_end)); time_e2 = icaltime_as_timet (*(priv2->dt_end));
result = (time_e2 - time_s2) - (time_e1 - time_s1); result = (time_e2 - time_s2) - (time_e1 - time_s1);
@@ -1203,3 +1202,22 @@ gcal_event_widget_compare_for_single_day (GcalEventWidget *widget1,
else else
return icaltime_compare (*(priv1->dt_start), *(priv2->dt_start)); return icaltime_compare (*(priv1->dt_start), *(priv2->dt_start));
} }
else
{
if (gcal_event_widget_is_multiday (widget1))
return -1;
else if (gcal_event_widget_is_multiday (widget2))
return 1;
else
{
if (priv1->all_day && priv2->all_day)
return 0;
else if (priv1->all_day)
return -1;
else if (priv2->all_day)
return 1;
else
return icaltime_compare (*(priv1->dt_start), *(priv2->dt_start));
}
}
}