Updating branch refs/heads/master
         to 1a4781fe45a8c6c3ae9fe84f048ed42670e9ff5c (commit)
       from f0d385b1651885383a7d819e500946812e9101b7 (commit)

commit 1a4781fe45a8c6c3ae9fe84f048ed42670e9ff5c
Author: Mike Massonnet <[email protected]>
Date:   Sun Feb 20 21:17:13 2011 +0100

    Fix race condition that needlessly showed the refresh-button
    
    The monitoring support is meant to be something simple and not 
overcomplicated,
    therefore there is a single point-of-entry that marks a window as being 
edited
    from an external tool. While a window contains several notes, saving more 
than
    one of them shifted by 1 second results in false positive. The simple fix to
    avoid this race condition is currently to increase the window-updated 
timeout.
    
    Also in this commit, when the user decides to not reload the notes from the
    disk, save the current notes right back to the disk.

 lib/application.vala    |    7 +++++--
 lib/window-monitor.vala |    2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/application.vala b/lib/application.vala
index c45ab31..3872a6a 100644
--- a/lib/application.vala
+++ b/lib/application.vala
@@ -536,9 +536,12 @@ namespace Xnp {
                                var win = create_window (name);
                                win.show ();
                        }
+                       else {
+                               set_data_value (window, "external-change", 
false);
+                               window.show_refresh_button = false;
+                               window.save_notes ();
 
-                       set_data_value (window, "external-change", false);
-                       window.show_refresh_button = false;
+                       }
                }
 
                /*
diff --git a/lib/window-monitor.vala b/lib/window-monitor.vala
index d790e8a..b5a3dfa 100644
--- a/lib/window-monitor.vala
+++ b/lib/window-monitor.vala
@@ -66,7 +66,7 @@ namespace Xnp {
                        if (monitor_timeout != 0) {
                                Source.remove (monitor_timeout);
                        }
-                       monitor_timeout = Timeout.add_seconds (1, () => {
+                       monitor_timeout = Timeout.add_seconds (5, () => {
                                window_updated (window);
                                monitor_timeout = 0;
                                return false;
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to