MFH: r561948
deskutils/elementary-calendar: Fix Segmentation fault. PR: 252741 Submitted by: 0mp Reviewed by: 0mp (mentor) Approved by: 0mp (mentor), portmgr banket Differential Revision: https://reviews.freebsd.org/D28216
This commit is contained in:
parent
dc76343edb
commit
c7da274630
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/branches/2021Q1/; revision=561949
|
@ -2,6 +2,7 @@
|
|||
|
||||
PORTNAME= elementary-calendar
|
||||
DISTVERSION= 5.1.1
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= deskutils
|
||||
|
||||
MAINTAINER= neel@neelc.org
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 ();
|
Loading…
Reference in New Issue