aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/ChangeLog3
-rw-r--r--calendar/gnome-cal.c46
-rw-r--r--calendar/gui/gnome-cal.c46
3 files changed, 91 insertions, 4 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 18716dcf2a..9e6f34d745 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,5 +1,8 @@
1999-05-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
+ * gnome-cal.c (gnome_calendar_set_view): Add some assertions here,
+ to pin point the bug reported on gnome-list.
+
* calobj.c (load_recurrence): Make intervals always exist. a 0
interval is wrong.
diff --git a/calendar/gnome-cal.c b/calendar/gnome-cal.c
index 72a411777c..d040a9b594 100644
--- a/calendar/gnome-cal.c
+++ b/calendar/gnome-cal.c
@@ -80,7 +80,12 @@ get_current_page (GnomeCalendar *gcal)
char *
gnome_calendar_get_current_view_name (GnomeCalendar *gcal)
{
- GtkWidget *page = get_current_page (gcal);
+ GtkWidget *page;
+
+ g_return_val_if_fail (gcal != NULL, "dayview");
+ g_return_val_if_fail (GNOME_IS_CALENDAR (gcal), "dayview");
+
+ page = get_current_page (gcal);
if (page == gcal->day_view)
return "dayview";
@@ -97,10 +102,13 @@ gnome_calendar_get_current_view_name (GnomeCalendar *gcal)
void
gnome_calendar_goto (GnomeCalendar *gcal, time_t new_time)
{
- GtkWidget *current = get_current_page (gcal);
+ GtkWidget *current;
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
g_return_if_fail (new_time != -1);
+ current = get_current_page (gcal);
new_time = time_day_begin (new_time);
if (current == gcal->day_view)
@@ -145,18 +153,27 @@ gnome_calendar_direction (GnomeCalendar *gcal, int direction)
void
gnome_calendar_next (GnomeCalendar *gcal)
{
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+
gnome_calendar_direction (gcal, 1);
}
void
gnome_calendar_previous (GnomeCalendar *gcal)
{
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+
gnome_calendar_direction (gcal, -1);
}
void
gnome_calendar_dayjump (GnomeCalendar *gcal, time_t time)
{
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+
gtk_notebook_set_page (GTK_NOTEBOOK (gcal->notebook), 0);
gnome_calendar_goto (gcal, time);
}
@@ -164,6 +181,9 @@ gnome_calendar_dayjump (GnomeCalendar *gcal, time_t time)
void
gnome_calendar_goto_today (GnomeCalendar *gcal)
{
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+
gnome_calendar_goto (gcal, time (NULL));
}
@@ -172,6 +192,11 @@ gnome_calendar_set_view (GnomeCalendar *gcal, char *page_name)
{
int page = 0;
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+ g_return_if_fail (page_name != NULL);
+
+
if (strcmp (page_name, "dayview") == 0)
page = 0;
else if (strcmp (page_name, "weekview") == 0)
@@ -218,6 +243,10 @@ int
gnome_calendar_load (GnomeCalendar *gcal, char *file)
{
char *r;
+
+ g_return_val_if_fail (gcal != NULL, 0);
+ g_return_val_if_fail (GNOME_IS_CALENDAR (gcal), 0);
+ g_return_val_if_fail (file != NULL, 0);
if ((r = calendar_load (gcal->cal, file)) != NULL){
printf ("Error loading calendar: %s\n", r);
@@ -230,6 +259,10 @@ gnome_calendar_load (GnomeCalendar *gcal, char *file)
void
gnome_calendar_add_object (GnomeCalendar *gcal, iCalObject *obj)
{
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+ g_return_if_fail (obj != NULL);
+
calendar_add_object (gcal->cal, obj);
gnome_calendar_update_all (gcal, obj, CHANGE_NEW);
}
@@ -237,6 +270,10 @@ gnome_calendar_add_object (GnomeCalendar *gcal, iCalObject *obj)
void
gnome_calendar_remove_object (GnomeCalendar *gcal, iCalObject *obj)
{
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+ g_return_if_fail (obj != NULL);
+
calendar_remove_object (gcal->cal, obj);
gnome_calendar_update_all (gcal, obj, CHANGE_ALL);
}
@@ -445,6 +482,11 @@ gnome_calendar_tag_calendar (GnomeCalendar *cal, GtkCalendar *gtk_cal)
time_t month_begin, month_end;
struct tm tm;
+ g_return_if_fail (cal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (cal));
+ g_return_if_fail (gtk_cal != NULL);
+ g_return_if_fail (GTK_IS_CALENDAR (gtk_cal));
+
/* compute month_begin */
tm.tm_hour = 0;
tm.tm_min = 0;
diff --git a/calendar/gui/gnome-cal.c b/calendar/gui/gnome-cal.c
index 72a411777c..d040a9b594 100644
--- a/calendar/gui/gnome-cal.c
+++ b/calendar/gui/gnome-cal.c
@@ -80,7 +80,12 @@ get_current_page (GnomeCalendar *gcal)
char *
gnome_calendar_get_current_view_name (GnomeCalendar *gcal)
{
- GtkWidget *page = get_current_page (gcal);
+ GtkWidget *page;
+
+ g_return_val_if_fail (gcal != NULL, "dayview");
+ g_return_val_if_fail (GNOME_IS_CALENDAR (gcal), "dayview");
+
+ page = get_current_page (gcal);
if (page == gcal->day_view)
return "dayview";
@@ -97,10 +102,13 @@ gnome_calendar_get_current_view_name (GnomeCalendar *gcal)
void
gnome_calendar_goto (GnomeCalendar *gcal, time_t new_time)
{
- GtkWidget *current = get_current_page (gcal);
+ GtkWidget *current;
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
g_return_if_fail (new_time != -1);
+ current = get_current_page (gcal);
new_time = time_day_begin (new_time);
if (current == gcal->day_view)
@@ -145,18 +153,27 @@ gnome_calendar_direction (GnomeCalendar *gcal, int direction)
void
gnome_calendar_next (GnomeCalendar *gcal)
{
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+
gnome_calendar_direction (gcal, 1);
}
void
gnome_calendar_previous (GnomeCalendar *gcal)
{
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+
gnome_calendar_direction (gcal, -1);
}
void
gnome_calendar_dayjump (GnomeCalendar *gcal, time_t time)
{
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+
gtk_notebook_set_page (GTK_NOTEBOOK (gcal->notebook), 0);
gnome_calendar_goto (gcal, time);
}
@@ -164,6 +181,9 @@ gnome_calendar_dayjump (GnomeCalendar *gcal, time_t time)
void
gnome_calendar_goto_today (GnomeCalendar *gcal)
{
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+
gnome_calendar_goto (gcal, time (NULL));
}
@@ -172,6 +192,11 @@ gnome_calendar_set_view (GnomeCalendar *gcal, char *page_name)
{
int page = 0;
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+ g_return_if_fail (page_name != NULL);
+
+
if (strcmp (page_name, "dayview") == 0)
page = 0;
else if (strcmp (page_name, "weekview") == 0)
@@ -218,6 +243,10 @@ int
gnome_calendar_load (GnomeCalendar *gcal, char *file)
{
char *r;
+
+ g_return_val_if_fail (gcal != NULL, 0);
+ g_return_val_if_fail (GNOME_IS_CALENDAR (gcal), 0);
+ g_return_val_if_fail (file != NULL, 0);
if ((r = calendar_load (gcal->cal, file)) != NULL){
printf ("Error loading calendar: %s\n", r);
@@ -230,6 +259,10 @@ gnome_calendar_load (GnomeCalendar *gcal, char *file)
void
gnome_calendar_add_object (GnomeCalendar *gcal, iCalObject *obj)
{
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+ g_return_if_fail (obj != NULL);
+
calendar_add_object (gcal->cal, obj);
gnome_calendar_update_all (gcal, obj, CHANGE_NEW);
}
@@ -237,6 +270,10 @@ gnome_calendar_add_object (GnomeCalendar *gcal, iCalObject *obj)
void
gnome_calendar_remove_object (GnomeCalendar *gcal, iCalObject *obj)
{
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+ g_return_if_fail (obj != NULL);
+
calendar_remove_object (gcal->cal, obj);
gnome_calendar_update_all (gcal, obj, CHANGE_ALL);
}
@@ -445,6 +482,11 @@ gnome_calendar_tag_calendar (GnomeCalendar *cal, GtkCalendar *gtk_cal)
time_t month_begin, month_end;
struct tm tm;
+ g_return_if_fail (cal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (cal));
+ g_return_if_fail (gtk_cal != NULL);
+ g_return_if_fail (GTK_IS_CALENDAR (gtk_cal));
+
/* compute month_begin */
tm.tm_hour = 0;
tm.tm_min = 0;