After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 771655 - event end mark not shown right on 'other events' list for multiday events.
event end mark not shown right on 'other events' list for multiday events.
Status: RESOLVED FIXED
Product: gnome-calendar
Classification: Applications
Component: User Interface
3.21.x
Other Linux
: Normal normal
: 3.26
Assigned To: GNOME Calendar maintainers
GNOME Calendar maintainers
Depends on:
Blocks:
 
 
Reported: 2016-09-19 13:29 UTC by Mohammed Sadiq
Modified: 2017-04-17 18:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Multiday event in 'other events' (image) (40.71 KB, image/png)
2016-09-19 13:29 UTC, Mohammed Sadiq
  Details
month-view: calculate popover events on a per-event basis (3.88 KB, patch)
2016-09-28 00:10 UTC, Georges Basile Stavracas Neto
committed Details | Review

Description Mohammed Sadiq 2016-09-19 13:29:52 UTC
Created attachment 335855 [details]
Multiday event in 'other events' (image)

The event is marked as event continuation when the event is listed in 'other events'.

How to reproduce:
1. Create several multi-day events
   I created 4 events spanning from Sept 21 to 22 (2 day events)
2. Now click on the other event of the second day.

Result:
The event is shown as a continuation event.

Please see the attached screenshot.

Thanks
Comment 1 Ernestas Kulik 2016-09-21 17:17:09 UTC
I think I have figured it out.

rebuild_popover_for_day() sets the start and end dates of the event widget, but the GDateTime is for the local time zone. The problem with that is that all-day events are UTC and gcal_event_widget_update_style() sets the “slanted-end” class, because the two GDateTime objects do not match.

I am yet to come up with a fix, but none of my ideas are too easy on the eyes.
Comment 2 Georges Basile Stavracas Neto 2016-09-28 00:10:02 UTC
Created attachment 336394 [details] [review]
month-view: calculate popover events on a per-event basis

Since we need to special-case the datetimes to deal with UTC
all day events, using a general local GTimeZone would cause
the cloned all-day events to show wrongly inside the popover.

Fix that by calculating each event's start and end dates according
to the all day events.
Comment 3 Georges Basile Stavracas Neto 2016-09-28 00:11:07 UTC
Thanks for the report, and thanks Ernerstas for stretching the investigation down to rebuild_popover_for_day().

Attachment 336394 [details] pushed as 9662635 - month-view: calculate popover events on a per-event basis