Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F157396793
D28216.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D28216.diff
View Options
Index: head/deskutils/elementary-calendar/Makefile
===================================================================
--- head/deskutils/elementary-calendar/Makefile
+++ head/deskutils/elementary-calendar/Makefile
@@ -2,6 +2,7 @@
PORTNAME= elementary-calendar
DISTVERSION= 5.1.1
+PORTREVISION= 1
CATEGORIES= deskutils
MAINTAINER= nc@FreeBSD.org
Index: head/deskutils/elementary-calendar/files/patch-core_Services_Calendar_EventStore.vala
===================================================================
--- head/deskutils/elementary-calendar/files/patch-core_Services_Calendar_EventStore.vala
+++ head/deskutils/elementary-calendar/files/patch-core_Services_Calendar_EventStore.vala
@@ -1,20 +1,39 @@
--- core/Services/Calendar/EventStore.vala.orig 2020-10-08 20:26:30 UTC
+++ core/Services/Calendar/EventStore.vala
-@@ -303,7 +303,7 @@ public class Calendar.EventStore : Object {
- // number we want, so we convert the pointer address to a uint to get
- // the data. Since the pointer address is actually data, using it as a
- // pointer will segfault.
+@@ -298,19 +298,10 @@ public class Calendar.EventStore : Object {
+ */
+ private GLib.DateWeekday get_week_start () {
+ // Set the "baseline" for start of week: Sunday or Monday?
+- // HACK Dealing with NLTime is hacky and potentially prone to breaking.
+- // This to_string call produces a string pointer whose address is the
+- // number we want, so we convert the pointer address to a uint to get
+- // the data. Since the pointer address is actually data, using it as a
+- // pointer will segfault.
- uint week_day1 = (uint) Posix.NLTime.WEEK_1STDAY.to_string ();
-+ uint week_day1 = (uint) Posix.NLItem.DAY_1.to_string ();
- var week_1stday = 0; // Default to 0 if unrecognized data
- if (week_day1 == 19971130) { // Sunday
+- var week_1stday = 0; // Default to 0 if unrecognized data
+- if (week_day1 == 19971130) { // Sunday
++ string locale = GLib.Intl.setlocale(ALL, null);
++ var week_1stday = 1; // Default to Monday
++ if (locale.contains("CA") || locale.contains("MX") || locale.contains("US")) {
week_1stday = 0;
-@@ -322,7 +322,7 @@ public class Calendar.EventStore : Object {
- // Get the start of week
- // HACK This line produces a string of 3 bytes. It takes the raw value
- // of the first one and uses that as the value of week_start.
-- int week_start_posix = Posix.NLTime.FIRST_WEEKDAY.to_string ().data[0];
-+ int week_start_posix = Posix.NLItem.DAY_1.to_string ().data[0];
+- } else if (week_day1 == 19971201) { // Monday
+- week_1stday = 1;
+- } else {
+- warning ("Unknown value of _NL_TIME_WEEK_1STDAY: %u", week_day1);
+ }
+ /* The offset between GLib and local POSIX numbering.
+ * If week_1stday is Monday, data is correct for GLib: Monday=1 through Sunday=7,
+@@ -319,12 +310,7 @@ public class Calendar.EventStore : Object {
+ * subtracted by 1, then Sunday has to be handled separately to wrap to 7. */
+ var glib_offset = week_1stday - 1;
- var week_start = week_start_posix + glib_offset;
+- // Get the start of week
+- // HACK This line produces a string of 3 bytes. It takes the raw value
+- // of the first one and uses that as the value of week_start.
+- int week_start_posix = Posix.NLTime.FIRST_WEEKDAY.to_string ().data[0];
+-
+- var week_start = week_start_posix + glib_offset;
++ var week_start = glib_offset;
if (week_start == 0) { // Sunday special case
+ week_start = 7;
+ }
Index: head/deskutils/elementary-calendar/files/patch-src_MainWindow.vala
===================================================================
--- head/deskutils/elementary-calendar/files/patch-src_MainWindow.vala
+++ head/deskutils/elementary-calendar/files/patch-src_MainWindow.vala
@@ -0,0 +1,14 @@
+--- src/MainWindow.vala.orig 2021-01-18 04:30:35 UTC
++++ src/MainWindow.vala
+@@ -51,8 +51,9 @@ public class Maya.MainWindow : Gtk.ApplicationWindow {
+ construct {
+ add_action_entries (ACTION_ENTRIES, this);
+
+- foreach (var action in action_accelerators.get_keys ()) {
+- ((Gtk.Application) GLib.Application.get_default ()).set_accels_for_action (ACTION_PREFIX + action, action_accelerators[action].to_array ());
++ var iter = action_accelerators.map_iterator ();
++ while (iter.next ()) {
++ ((Gtk.Application) GLib.Application.get_default ()).set_accels_for_action (ACTION_PREFIX + iter.get_key (), { iter.get_value () });
+ }
+
+ weak Gtk.IconTheme default_theme = Gtk.IconTheme.get_default ();
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, May 21, 11:36 PM (9 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33409092
Default Alt Text
D28216.diff (4 KB)
Attached To
Mode
D28216: deskutils/elementary-calendar: Fix Segmentation fault.
Attached
Detach File
Event Timeline
Log In to Comment