summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2009-10-16 22:06:09 -0400
committerJohn Wiegley <johnw@newartisans.com>2009-10-17 03:51:32 -0400
commitb6594a03dff76cf3651499df50d1105ff7b2fe07 (patch)
tree3f0b226fc976bea4423cae69960f1abd6b6761a4
parente673507f69ba4581a8732f42d4096de8613f0b60 (diff)
downloadorg-mode-b6594a03dff76cf3651499df50d1105ff7b2fe07.tar.gz
Prevent mode-line timers from being duplicated
(org-clock-in): Before creating `org-clock-mode-line-timer', check to make sure an older timer is not currently running.
-rwxr-xr-xlisp/ChangeLog4
-rw-r--r--lisp/org-clock.el3
2 files changed, 7 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f69045f..c6bbce7 100755
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,9 @@
2009-10-17 John Wiegley <johnw@newartisans.com>
+ * org-clock.el (org-clock-in): Before creating
+ `org-clock-mode-line-timer', check to make sure an older timer is
+ not currently running.
+
* org.el (org-files-list): New utility function for returning a
list of all open org-mode buffers, plus all files used to build
the agenda buffer. Note that not all the files will necessarily
diff --git a/lisp/org-clock.el b/lisp/org-clock.el
index 97e5552..587c724 100644
--- a/lisp/org-clock.el
+++ b/lisp/org-clock.el
@@ -616,6 +616,9 @@ the clocking selection, associated with the letter `d'."
(setq global-mode-string
(append global-mode-string '(org-mode-line-string))))
(org-clock-update-mode-line)
+ (when org-clock-mode-line-timer
+ (cancel-timer org-clock-mode-line-timer)
+ (setq org-clock-mode-line-timer nil))
(setq org-clock-mode-line-timer
(run-with-timer 60 60 'org-clock-update-mode-line))
(message "Clock starts at %s - %s" ts msg-extra)