summaryrefslogtreecommitdiff
path: root/src/calcurse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/calcurse.c')
-rw-r--r--src/calcurse.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/calcurse.c b/src/calcurse.c
index e31770c..8ba25ed 100644
--- a/src/calcurse.c
+++ b/src/calcurse.c
@@ -290,13 +290,21 @@ static inline void key_generic_reload(void)
io_save_todo(path_todo_backup);
io_save_mutex_unlock();
- const char *arg_apts[] = { conf.mergetool, path_apts,
- path_apts_backup, NULL };
- wins_launch_external(arg_apts);
-
- const char *arg_todo[] = { conf.mergetool, path_todo,
- path_todo_backup, NULL };
- wins_launch_external(arg_todo);
+ if (!io_files_equal(path_apts, path_apts_backup)) {
+ const char *arg_apts[] = { conf.mergetool,
+ path_apts,
+ path_apts_backup,
+ NULL };
+ wins_launch_external(arg_apts);
+ }
+
+ if (!io_files_equal(path_todo, path_todo_backup)) {
+ const char *arg_todo[] = { conf.mergetool,
+ path_todo,
+ path_todo_backup,
+ NULL };
+ wins_launch_external(arg_todo);
+ }
xfree(path_apts_backup);
xfree(path_todo_backup);