[chronojump] Now inertia moment calculation can be called n times without closing the window



commit 6e13ddc54d79ddec849d659a0fff89d31feb7b85
Author: Xavier de Blas <xaviblas gmail com>
Date:   Mon Nov 24 17:17:40 2014 +0100

    Now inertia moment calculation can be called n times without closing the window

 src/gui/encoder.cs |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)
---
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index d75eb56..5229393 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -306,8 +306,15 @@ public partial class ChronoJumpWindow
        void on_button_encoder_select_clicked (object o, EventArgs args) {
                encoder_configuration_win = EncoderConfigurationWindow.View(encoderConfigurationCurrent);
                encoder_configuration_win.Button_accept.Clicked += new 
EventHandler(on_encoder_configuration_win_accepted);
+
+               //unregister eventHandler first, then register. This avoids to have registered twice
+               try {
+                       encoder_configuration_win.Button_encoder_capture_inertial_do.Clicked -= 
+                               new EventHandler(on_encoder_configuration_win_capture_inertial_do);
+               } catch { }
                encoder_configuration_win.Button_encoder_capture_inertial_do.Clicked += 
                        new EventHandler(on_encoder_configuration_win_capture_inertial_do);
+
                encoder_configuration_win.Button_encoder_capture_inertial_cancel.Clicked += 
                        new EventHandler(on_button_encoder_cancel_clicked);
                //encoder_configuration_win.Button_encoder_capture_inertial_finish.Clicked += 
@@ -321,12 +328,8 @@ public partial class ChronoJumpWindow
                label_encoder_selected.Text = encoderConfigurationCurrent.code;
        }
        
-       void on_encoder_configuration_win_capture_inertial_do (object o, EventArgs args) {
-               //need this "-=" in order to do not open the port two times on function:
-               //on_button_encoder_capture_calcule_im();
-               encoder_configuration_win.Button_encoder_capture_inertial_do.Clicked -= 
-                       new EventHandler(on_encoder_configuration_win_capture_inertial_do);
-               
+       void on_encoder_configuration_win_capture_inertial_do (object o, EventArgs args) 
+       {
                on_button_encoder_capture_calcule_im();
        }
                


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]