[Xfce4-commits] <midori:master> Don't assert on future dates, but accept it and show a warning.

Christian Dywan noreply at xfce.org
Fri Oct 30 22:46:02 CET 2009


Updating branch refs/heads/master
         to 461511c2166a4711c3a7dea0118393943b5c5612 (commit)
       from 0f9865b56f97548eaadd53e42e05d2711cc4fee7 (commit)

commit 461511c2166a4711c3a7dea0118393943b5c5612
Author: Christian Dywan <christian at twotoasts.de>
Date:   Fri Oct 30 21:10:20 2009 +0100

    Don't assert on future dates, but accept it and show a warning.
    
    On a mobile phone it's not that uncommon to accidentally reset the
    system clock by removing the battery. So instead of crashing
    a warning is displayed.

 panels/midori-history.c |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/panels/midori-history.c b/panels/midori-history.c
index 80f5a69..cf117e9 100644
--- a/panels/midori-history.c
+++ b/panels/midori-history.c
@@ -577,7 +577,7 @@ midori_history_treeview_render_text_cb (GtkTreeViewColumn* column,
                                         GtkCellRenderer*   renderer,
                                         GtkTreeModel*      model,
                                         GtkTreeIter*       iter,
-                                        GtkWidget*         treeview)
+                                        MidoriHistory*     history)
 {
     KatzeItem* item;
     gint64 age;
@@ -590,9 +590,21 @@ midori_history_treeview_render_text_cb (GtkTreeViewColumn* column,
     {
         gchar* sdate;
 
-        g_assert (age >= 0);
+        /* A negative age is a date in the future, the clock is probably off */
+        if (age < -1)
+        {
+            static gboolean clock_warning = FALSE;
+            if (!clock_warning)
+            {
+                midori_app_send_notification (history->app,
+                    _("Erroneous clock time"),
+                    _("The clock time lies in the past. "
+                      "Please check the current date and time."));
+                clock_warning = TRUE;
+            }
+        }
 
-        if (age > 7)
+        if (age > 7 || age < 0)
         {
             g_object_set (renderer, "text", katze_item_get_name (item), NULL);
         }
@@ -941,7 +953,7 @@ midori_history_init (MidoriHistory* history)
     gtk_tree_view_column_pack_start (column, renderer_text, FALSE);
     gtk_tree_view_column_set_cell_data_func (column, renderer_text,
         (GtkTreeCellDataFunc)midori_history_treeview_render_text_cb,
-        treeview, NULL);
+        history, NULL);
     gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
     g_object_unref (model);
     g_object_connect (treeview,



More information about the Xfce4-commits mailing list