orage: added patch from Arch for a bugfix.

This commit is contained in:
Juan RP 2011-08-04 09:23:43 +02:00
parent c610b18da4
commit 75cc2e795a
2 changed files with 125 additions and 7 deletions

View File

@ -0,0 +1,122 @@
From 52a58e63cb039338d3365c83cb13e20acefba083 Mon Sep 17 00:00:00 2001
From: Juha Kautto <juha@xfce.org>
Date: Wed, 01 Jun 2011 12:26:22 +0000
Subject: fixed Bug 7552 - Orage reminder duplicates infinitely
When using default timezone floating, reminders repeated and never ended.
Fixed this and prevented using floating as the default value. Using UTC
instead.
diff --git a/src/ical-code.c b/src/ical-code.c
index c080bf2..e726103 100644
--- src/ical-code.c
+++ src/ical-code.c
@@ -233,7 +233,7 @@ gboolean xfical_set_local_timezone(gboolean testing)
}
/*
- * Basically standard says that timezone should be added alwasy
+ * Basically standard says that timezone should be added always
* when it is used, but in real life these are not needed since
* all systems have their own timezone data, so let's save time
* and space and comment this out.
@@ -2587,7 +2587,7 @@ static alarm_struct *process_alarm_trigger(icalcomponent *c
rel = icalparameter_get_related(trg_related_par);
else
rel = ICAL_RELATED_START;
- per = ic_get_period(c, FALSE);
+ per = ic_get_period(c, TRUE);
next_alarm_time = count_alarm_time(per, cur_time, trg.duration, rel);
alarm_start_diff = icaltime_subtract(per.stime, next_alarm_time);
/* we only have ctime for TODOs and only if todo has been completed.
diff --git a/src/parameters.c b/src/parameters.c
index 38407da..462fce2 100644
--- src/parameters.c
+++ src/parameters.c
@@ -440,7 +440,7 @@ static void timezone_button_clicked(GtkButton *button, gpointer user_data)
if (!ORAGE_STR_EXISTS(g_par.local_timezone)) {
g_warning("timezone pressed: local timezone missing");
- g_par.local_timezone = g_strdup("floating");
+ g_par.local_timezone = g_strdup("UTC");
}
if (orage_timezone_button_clicked(button, GTK_WINDOW(itf->orage_dialog)
, &g_par.local_timezone, TRUE, g_par.local_timezone))
@@ -501,16 +501,12 @@ static void create_parameter_dialog_main_setup_tab(Itf *dialog)
, dialog->timezone_frame, FALSE, FALSE, 5);
dialog->timezone_button = gtk_button_new();
- if (g_par.local_timezone) {
- gtk_button_set_label(GTK_BUTTON(dialog->timezone_button)
- , _(g_par.local_timezone));
- }
- else { /* we should never arrive here */
- g_warning("parameters: timezone not set.");
- g_par.local_timezone = g_strdup("floating");
- gtk_button_set_label(GTK_BUTTON(dialog->timezone_button)
- , _("floating"));
+ if (!ORAGE_STR_EXISTS(g_par.local_timezone)) {
+ g_warning("parameters: local timezone missing");
+ g_par.local_timezone = g_strdup("UTC");
}
+ gtk_button_set_label(GTK_BUTTON(dialog->timezone_button)
+ , _(g_par.local_timezone));
gtk_box_pack_start(GTK_BOX(vbox)
, dialog->timezone_button, FALSE, FALSE, 5);
gtk_tooltips_set_tip(dialog->Tooltips, dialog->timezone_button
@@ -1117,7 +1113,7 @@ static void init_default_timezone(void)
if (ORAGE_STR_EXISTS(g_par.local_timezone))
g_message(_("Default timezone set to %s."), g_par.local_timezone);
else {
- g_par.local_timezone = g_strdup("floating");
+ g_par.local_timezone = g_strdup("UTC");
g_message(_("Default timezone not found, please, set it manually."));
}
}
diff --git a/src/timezone_selection.c b/src/timezone_selection.c
index 1bcb5be..518b83d 100644
--- src/timezone_selection.c
+++ src/timezone_selection.c
@@ -307,16 +307,31 @@ gboolean orage_timezone_button_clicked(GtkButton *button, GtkWindow *parent
tree = tz_button_create_view(details, store);
/* show it */
- if (check_ical)
- window = gtk_dialog_new_with_buttons(_("Pick timezone")
- , parent
- , GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT
- , _("Change mode"), 1
- , _("UTC"), 2
- , _("floating"), 3
- , _(local_tz), 4
- , GTK_STOCK_OK, GTK_RESPONSE_ACCEPT
- , NULL);
+ if (check_ical) {
+ if (local_tz == *tz)
+ /* We are actually setting the g_par parameter. In other words
+ we are setting the global default timezone for Orage. This is
+ done very seldom and we do not want to allow "floating" here.
+ This test is ugly, but it is not worth an extra parameter. */
+ window = gtk_dialog_new_with_buttons(_("Pick timezone")
+ , parent
+ , GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT
+ , _("Change mode"), 1
+ , _("UTC"), 2
+ , _(local_tz), 4
+ , GTK_STOCK_OK, GTK_RESPONSE_ACCEPT
+ , NULL);
+ else /* this is normal appointment */
+ window = gtk_dialog_new_with_buttons(_("Pick timezone")
+ , parent
+ , GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT
+ , _("Change mode"), 1
+ , _("UTC"), 2
+ , _("floating"), 3
+ , _(local_tz), 4
+ , GTK_STOCK_OK, GTK_RESPONSE_ACCEPT
+ , NULL);
+ }
else
window = gtk_dialog_new_with_buttons(_("Pick timezone")
, parent
--
cgit

View File

@ -1,11 +1,13 @@
# Template file for 'orage'
pkgname=orage
version=4.8.1
revision=1
revision=2
distfiles="http://archive.be.xfce.org/src/apps/orage/4.8/orage-$version.tar.bz2"
build_style=gnu_configure
short_desc="Simple calendar application for Xfce"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://www.xfce.org/projects/orage/"
license="GPL-2"
checksum=612d9e0e6b0113e04332d13cfbe027e464ff1c8e7ddef5052369ac88e67e09d8
long_desc="
A simple calendar application with reminders for Xfce."
@ -30,19 +32,13 @@ Add_dependency run xfce4-panel
Add_dependency build pkg-config
Add_dependency build intltool
Add_dependency build flex
Add_dependency build libX11-devel
Add_dependency build libical-devel
Add_dependency build libnotify-devel
Add_dependency build gtk+-devel
Add_dependency build dbus-glib-devel
Add_dependency build gdk-pixbuf-devel
Add_dependency build pango-devel
Add_dependency build dbus-devel
Add_dependency build glib-devel
Add_dependency build popt-devel
Add_dependency build xfce4-panel-devel
Add_dependency build libxfce4util-devel
Add_dependency build cairo-devel
Add_dependency full hicolor-icon-theme
Add_dependency full desktop-file-utils