2008-09-10 [colin] 3.5.0cvs98
authorColin Leroy <colin@colino.net>
Wed, 10 Sep 2008 20:12:58 +0000 (20:12 +0000)
committerColin Leroy <colin@colino.net>
Wed, 10 Sep 2008 20:12:58 +0000 (20:12 +0000)
* src/inc.c
* src/summaryview.c
* src/common/session.c
Use g_timeout_add_seconds instead of g_timeout_add
on glib >= 2.14 when we don't need precision on the
delay. This helps reducing power consumption:
http://mjg59.livejournal.com/74651.html

ChangeLog
PATCHSETS
configure.ac
src/common/session.c
src/inc.c
src/summaryview.c

index d4ea632..8de1145 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-09-10 [colin]     3.5.0cvs98
+
+       * src/inc.c
+       * src/summaryview.c
+       * src/common/session.c
+               Use g_timeout_add_seconds instead of g_timeout_add
+               on glib >= 2.14 when we don't need precision on the 
+               delay. This helps reducing power consumption:
+               http://mjg59.livejournal.com/74651.html
+
 2008-09-10 [colin]     3.5.0cvs97
 
        * src/compose.c
index 4d12711..d451e46 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.1.2.3 -r 1.1.2.4 src/gtk/gtkcmclist.h;  ) > 3.5.0cvs95.patchset
 ( cvs diff -u -r 1.3.2.10 -r 1.3.2.11 src/action.h;  cvs diff -u -r 1.27.2.42 -r 1.27.2.43 src/addr_compl.c;  cvs diff -u -r 1.9.2.25 -r 1.9.2.26 src/addressadd.c;  cvs diff -u -r 1.18.2.13 -r 1.18.2.14 src/addressbook.h;  cvs diff -u -r 1.1.2.13 -r 1.1.2.14 src/addressbook_foldersel.c;  cvs diff -u -r 1.5.2.11 -r 1.5.2.12 src/addressitem.h;  cvs diff -u -r 1.5.10.25 -r 1.5.10.26 src/addrgather.c;  cvs diff -u -r 1.17.2.38 -r 1.17.2.39 src/alertpanel.c;  cvs diff -u -r 1.2.4.21 -r 1.2.4.22 src/browseldap.c;  cvs diff -u -r 1.14.2.53 -r 1.14.2.54 src/editaddress.c;  cvs diff -u -r 1.1.2.9 -r 1.1.2.10 src/editaddress_other_attributes_ldap.h;  cvs diff -u -r 1.5.12.12 -r 1.5.12.13 src/editbook.c;  cvs diff -u -r 1.5.12.14 -r 1.5.12.15 src/editjpilot.c;  cvs diff -u -r 1.8.2.31 -r 1.8.2.32 src/editldap.c;  cvs diff -u -r 1.10.2.14 -r 1.10.2.15 src/editldap_basedn.c;  cvs diff -u -r 1.5.12.13 -r 1.5.12.14 src/editvcard.c;  cvs diff -u -r 1.3.2.24 -r 1.3.2.25 src/exphtmldlg.c;  cvs diff -u -r 1.1.4.29 -r 1.1.4.30 src/expldifdlg.c;  cvs diff -u -r 1.8.2.26 -r 1.8.2.27 src/export.c;  cvs diff -u -r 1.26.2.38 -r 1.26.2.39 src/foldersel.c;  cvs diff -u -r 1.4.12.6 -r 1.4.12.7 src/foldersel.h;  cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/gedit-print.c;  cvs diff -u -r 1.1.2.3 -r 1.1.2.4 src/gedit-print.h;  cvs diff -u -r 1.14.2.21 -r 1.14.2.22 src/grouplistdialog.c;  cvs diff -u -r 1.8.2.27 -r 1.8.2.28 src/headerview.c;  cvs diff -u -r 1.2.2.4 -r 1.2.2.5 src/headerview.h;  cvs diff -u -r 1.1.2.24 -r 1.1.2.25 src/image_viewer.c;  cvs diff -u -r 1.13.2.25 -r 1.13.2.26 src/import.c;  cvs diff -u -r 1.14.2.19 -r 1.14.2.20 src/importldif.c;  cvs diff -u -r 1.4.12.18 -r 1.4.12.19 src/importmutt.c;  cvs diff -u -r 1.1.14.18 -r 1.1.14.19 src/importpine.c;  cvs diff -u -r 1.149.2.91 -r 1.149.2.92 src/inc.c;  cvs diff -u -r 1.115.2.203 -r 1.115.2.204 src/main.c;  cvs diff -u -r 1.7.2.16 -r 1.7.2.17 src/main.h;  cvs diff -u -r 1.94.2.184 -r 1.94.2.185 src/messageview.c;  cvs diff -u -r 1.19.2.21 -r 1.19.2.22 src/messageview.h;  cvs diff -u -r 1.5.2.20 -r 1.5.2.21 src/noticeview.c;  cvs diff -u -r 1.60.2.62 -r 1.60.2.63 src/prefs_actions.c;  cvs diff -u -r 1.59.2.73 -r 1.59.2.74 src/prefs_filtering.c;  cvs diff -u -r 1.1.2.13 -r 1.1.2.14 src/prefs_folder_column.c;  cvs diff -u -r 1.5.2.16 -r 1.5.2.17 src/prefs_gtk.h;  cvs diff -u -r 1.10.2.22 -r 1.10.2.23 src/prefs_summary_column.c;  cvs diff -u -r 1.30.2.52 -r 1.30.2.53 src/prefs_toolbar.c;  cvs diff -u -r 1.17.2.48 -r 1.17.2.49 src/send_message.c;  cvs diff -u -r 1.5.2.14 -r 1.5.2.15 src/setup.c;  cvs diff -u -r 1.9.2.22 -r 1.9.2.23 src/sourcewindow.c;  cvs diff -u -r 1.1.1.1.16.7 -r 1.1.1.1.16.8 src/sourcewindow.h;  cvs diff -u -r 1.3.2.30 -r 1.3.2.31 src/ssl_manager.c;  cvs diff -u -r 1.5.2.22 -r 1.5.2.23 src/statusbar.c;  cvs diff -u -r 1.3.2.9 -r 1.3.2.10 src/statusbar.h;  cvs diff -u -r 1.25.2.60 -r 1.25.2.61 src/stock_pixmap.c;  cvs diff -u -r 1.18.2.37 -r 1.18.2.38 src/stock_pixmap.h;  cvs diff -u -r 1.395.2.389 -r 1.395.2.390 src/summaryview.c;  cvs diff -u -r 1.96.2.205 -r 1.96.2.206 src/textview.c;  cvs diff -u -r 1.12.2.23 -r 1.12.2.24 src/textview.h;  cvs diff -u -r 1.5.14.9 -r 1.5.14.10 src/undo.h;  cvs diff -u -r 1.1.2.7 -r 1.1.2.8 src/uri_opener.c;  cvs diff -u -r 1.1.2.74 -r 1.1.2.75 src/wizard.c;  cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/wizard.h;  cvs diff -u -r 1.2.2.9 -r 1.2.2.10 src/common/ssl.h;  cvs diff -u -r 1.36.2.144 -r 1.36.2.145 src/common/utils.c;  cvs diff -u -r 1.4.2.65 -r 1.4.2.66 src/gtk/about.c;  cvs diff -u -r 1.2.2.22 -r 1.2.2.23 src/gtk/colorlabel.c;  cvs diff -u -r 1.1.4.8 -r 1.1.4.9 src/gtk/colorlabel.h;  cvs diff -u -r 1.1.2.12 -r 1.1.2.13 src/gtk/combobox.h;  cvs diff -u -r 1.5.2.26 -r 1.5.2.27 src/gtk/description_window.c;  cvs diff -u -r 1.2.2.36 -r 1.2.2.37 src/gtk/filesel.c;  cvs diff -u -r 1.9.2.59 -r 1.9.2.60 src/gtk/gtkaspell.c;  cvs diff -u -r 1.5.2.14 -r 1.5.2.15 src/gtk/gtkaspell.h;  cvs diff -u -r 1.1.2.4 -r 1.1.2.5 src/gtk/gtkcmclist.c;  cvs diff -u -r 1.1.2.4 -r 1.1.2.5 src/gtk/gtkcmclist.h;  cvs diff -u -r 1.1.2.7 -r 1.1.2.8 src/gtk/gtkcmctree.c;  cvs diff -u -r 1.1.2.2 -r 1.1.2.3 src/gtk/gtkcmctree.h;  cvs diff -u -r 1.1.2.1 -r 1.1.2.2 src/gtk/gtkcmoptionmenu.h;  cvs diff -u -r 1.1.4.50 -r 1.1.4.51 src/gtk/gtksctree.c;  cvs diff -u -r 1.1.4.14 -r 1.1.4.15 src/gtk/gtksctree.h;  cvs diff -u -r 1.1.4.9 -r 1.1.4.10 src/gtk/gtkshruler.c;  cvs diff -u -r 1.1.4.5 -r 1.1.4.6 src/gtk/gtkshruler.h;  cvs diff -u -r 1.1.2.8 -r 1.1.2.9 src/gtk/gtksourceprintjob.c;  cvs diff -u -r 1.1.2.2 -r 1.1.2.3 src/gtk/gtksourceprintjob.h;  cvs diff -u -r 1.5.2.82 -r 1.5.2.83 src/gtk/gtkutils.c;  cvs diff -u -r 1.4.2.45 -r 1.4.2.46 src/gtk/gtkutils.h;  cvs diff -u -r 1.5.2.15 -r 1.5.2.16 src/gtk/gtkvscrollbutton.c;  cvs diff -u -r 1.3.2.2 -r 1.3.2.3 src/gtk/gtkvscrollbutton.h;  cvs diff -u -r 1.1.2.16 -r 1.1.2.17 src/gtk/icon_legend.c;  cvs diff -u -r 1.2.2.31 -r 1.2.2.32 src/gtk/inputdialog.c;  cvs diff -u -r 1.1.4.31 -r 1.1.4.32 src/gtk/logwindow.c;  cvs diff -u -r 1.1.4.14 -r 1.1.4.15 src/gtk/logwindow.h;  cvs diff -u -r 1.1.4.6 -r 1.1.4.7 src/gtk/manage_window.c;  cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/gtk/manage_window.h;  cvs diff -u -r 1.5.2.36 -r 1.5.2.37 src/gtk/menu.c;  cvs diff -u -r 1.12.2.47 -r 1.12.2.48 src/gtk/prefswindow.c;  cvs diff -u -r 1.1.4.22 -r 1.1.4.23 src/gtk/progressdialog.c;  cvs diff -u -r 1.1.4.12 -r 1.1.4.13 src/gtk/progressdialog.h;  cvs diff -u -r 1.1.2.34 -r 1.1.2.35 src/plugins/bogofilter/bogofilter_gtk.c;  cvs diff -u -r 1.1.2.30 -r 1.1.2.31 src/plugins/pgpcore/passphrase.c;  cvs diff -u -r 1.23.2.50 -r 1.23.2.51 src/plugins/spamassassin/spamassassin_gtk.c;  cvs diff -u -r 1.14.2.65 -r 1.14.2.66 src/plugins/trayicon/trayicon.c;  cvs diff -u -r 1.1.4.9 -r 1.1.4.10 src/plugins/trayicon/libeggtrayicon/eggtrayicon.c;  cvs diff -u -r 1.1.4.2 -r 1.1.4.3 src/plugins/trayicon/libeggtrayicon/eggtrayicon.h;  cvs diff -u -r 1.1 -r 1.2 src/plugins/trayicon/libeggtrayicon/gtk2-funcs.c;  cvs diff -u -r 1.1.4.3 -r 1.1.4.4 src/plugins/trayicon/libeggtrayicon/gtkplugxembed.c;  cvs diff -u -r 1.1.4.1 -r 1.1.4.2 src/plugins/trayicon/libeggtrayicon/gtkplugxembed.h;  ) > 3.5.0cvs96.patchset
 ( cvs diff -u -r 1.382.2.472 -r 1.382.2.473 src/compose.c;  ) > 3.5.0cvs97.patchset
+( cvs diff -u -r 1.149.2.92 -r 1.149.2.93 src/inc.c;  cvs diff -u -r 1.395.2.390 -r 1.395.2.391 src/summaryview.c;  cvs diff -u -r 1.23.2.18 -r 1.23.2.19 src/common/session.c;  ) > 3.5.0cvs98.patchset
index cb7adb0..a7a4dee 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=5
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=97
+EXTRA_VERSION=98
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index b366e5a..783135b 100644 (file)
@@ -240,10 +240,16 @@ void session_set_timeout(Session *session, guint interval)
                g_source_remove(session->timeout_tag);
 
        session->timeout_interval = interval;
-       if (interval > 0)
+       if (interval > 0) {
+#if GLIB_CHECK_VERSION(2,14,0)
+               if (interval % 1000 == 0)
+                       session->timeout_tag =
+                               g_timeout_add_seconds(interval/1000, session_timeout_cb, session);
+               else
+#endif
                session->timeout_tag =
                        g_timeout_add(interval, session_timeout_cb, session);
-       else
+       else
                session->timeout_tag = 0;
 }
 
index a355fa7..b4883ee 100644 (file)
--- a/src/inc.c
+++ b/src/inc.c
@@ -1501,6 +1501,12 @@ static void inc_autocheck_timer_set_interval(guint interval)
           the common preferences */
        if (prefs_common.autochk_newmail && autocheck_data
            && prefs_common.work_offline == FALSE) {
+#if GLIB_CHECK_VERSION(2,14,0)
+               if (interval % 1000 == 0)
+                       autocheck_timer =
+                               g_timeout_add_seconds(interval/1000, inc_autocheck_func, autocheck_data);
+               else
+#endif
                autocheck_timer = g_timeout_add
                        (interval, inc_autocheck_func, autocheck_data);
                debug_print("added timer = %d\n", autocheck_timer);
index ef3ea17..d103333 100644 (file)
@@ -3588,8 +3588,13 @@ static void summary_display_msg_full(SummaryView *summaryview,
                        MarkAsReadData *data = g_new0(MarkAsReadData, 1);
                        data->summaryview = summaryview;
                        data->msginfo = msginfo;
+#if GLIB_CHECK_VERSION(2,14,0)
+                       g_timeout_add_seconds(prefs_common.mark_as_read_delay,
+                               msginfo_mark_as_read_timeout, data);
+#else
                        g_timeout_add(prefs_common.mark_as_read_delay * 1000,
                                msginfo_mark_as_read_timeout, data);
+#endif
                } else if (new_window || !prefs_common.mark_as_read_on_new_window) {
                        msginfo_mark_as_read(summaryview, msginfo, row);
                }