fix restore of snap mode (confusion caused by existence of internal/preinternal snap...
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 18 Jan 2013 15:56:41 +0000 (15:56 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Fri, 18 Jan 2013 15:56:41 +0000 (15:56 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@13878 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/editor.cc

index 22f2d71f0a0b06d9646e253fce3d58a867d6ead3..554932338b8bc2fd3bc49aa6cf5c2561c3119fc1 100644 (file)
@@ -44,6 +44,7 @@
 #include "pbd/memento_command.h"
 #include "pbd/unknown_type.h"
 #include "pbd/unwind.h"
+#include "pbd/stacktrace.h"
 
 #include <glibmm/miscutils.h>
 #include <gtkmm/image.h>
@@ -2139,9 +2140,16 @@ Editor::set_snap_to (SnapType st)
 void
 Editor::set_snap_mode (SnapMode mode)
 {
-       _snap_mode = mode;
        string str = snap_mode_strings[(int)mode];
 
+       if (_internal_editing) {
+               internal_snap_mode = mode;
+       } else {
+               pre_internal_snap_mode = mode;
+       }
+
+       _snap_mode = mode;
+
        if (str != snap_mode_selector.get_active_text ()) {
                snap_mode_selector.set_active_text (str);
        }
@@ -2289,6 +2297,7 @@ Editor::set_state (const XMLNode& node, int /*version*/)
                pre_internal_snap_type = (SnapType) string_2_enum (prop->value(), pre_internal_snap_type);
        }
 
+
        if ((prop = node.property ("pre-internal-snap-mode"))) {
                pre_internal_snap_mode = (SnapMode) string_2_enum (prop->value(), pre_internal_snap_mode);
        }