changes to handle an instant.xml file that has been modified by ardour 3.0 (not the...
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 4 Dec 2008 13:39:28 +0000 (13:39 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 4 Dec 2008 13:39:28 +0000 (13:39 +0000)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@4283 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/editor.cc
gtk2_ardour/mixer_ui.cc

index db4b3bc658353c4ab51339096c41439aed74a91c..fb58fc4a39abd9652dd566e03e182e68e8ef3a8e 100644 (file)
@@ -2354,23 +2354,57 @@ Editor::set_state (const XMLNode& node)
                _id = prop->value ();
        }
 
-       if ((geometry = find_named_node (node, "geometry")) == 0) {
+       g.base_width = default_width;
+       g.base_height = default_height;
+       x = 1;
+       y = 1;
+       xoff = 0;
+       yoff = 21;
 
-               g.base_width = default_width;
-               g.base_height = default_height;
-               x = 1;
-               y = 1;
-               xoff = 0;
-               yoff = 21;
+       if ((geometry = find_named_node (node, "geometry")) != 0) {
 
-       } else {
+               XMLProperty* prop;
+
+               if ((prop = geometry->property("x_size")) == 0) {
+                       prop = geometry->property ("x-size");
+               }
+               if (prop) {
+                       g.base_width = atoi(prop->value());
+               }
+               if ((prop = geometry->property("y_size")) == 0) {
+                       prop = geometry->property ("y-size");
+               }
+               if (prop) {
+                       g.base_height = atoi(prop->value());
+               }
+
+               if ((prop = geometry->property ("x_pos")) == 0) {
+                       prop = geometry->property ("x-pos");
+               }
+               if (prop) {
+                       x = atoi (prop->value());
+
+               }
+               if ((prop = geometry->property ("y_pos")) == 0) {
+                       prop = geometry->property ("y-pos");
+               }
+               if (prop) {
+                       y = atoi (prop->value());
+               }
+
+               if ((prop = geometry->property ("x_off")) == 0) {
+                       prop = geometry->property ("x-off");
+               }
+               if (prop) {
+                       xoff = atoi (prop->value());
+               }
+               if ((prop = geometry->property ("y_off")) == 0) {
+                       prop = geometry->property ("y-off");
+               }
+               if (prop) {
+                       yoff = atoi (prop->value());
+               }
 
-               g.base_width = atoi(geometry->property("x_size")->value());
-               g.base_height = atoi(geometry->property("y_size")->value());
-               x = atoi(geometry->property("x_pos")->value());
-               y = atoi(geometry->property("y_pos")->value());
-               xoff = atoi(geometry->property("x_off")->value());
-               yoff = atoi(geometry->property("y_off")->value());
        }
 
        set_default_size (g.base_width, g.base_height);
@@ -3688,12 +3722,23 @@ Editor::pane_allocation_handler (Allocation &alloc, Paned* which)
        static int32_t done;
        XMLNode* geometry;
 
-       if ((geometry = find_named_node (*node, "geometry")) == 0) {
-               width = default_width;
-               height = default_height;
-       } else {
-               width = atoi(geometry->property("x_size")->value());
-               height = atoi(geometry->property("y_size")->value());
+       width = default_width;
+       height = default_height;
+
+       if ((geometry = find_named_node (*node, "geometry")) != 0) {
+
+               if ((prop = geometry->property ("x_size")) == 0) {
+                       prop = geometry->property ("x-size");
+               }
+               if (prop) {
+                       width = atoi (prop->value());
+               }
+               if ((prop = geometry->property ("y_size")) == 0) {
+                       prop = geometry->property ("y-size");
+               }
+               if (prop) {
+                       height = atoi (prop->value());
+               }
        }
 
        if (which == static_cast<Paned*> (&edit_pane)) {
index 45d868bf1e30c049beb6eca655afd9cd844a9c49..866587bb4ead965dcbb01797a8e5b554fe9ecfeb 100644 (file)
@@ -1296,19 +1296,41 @@ Mixer_UI::set_state (const XMLNode& node)
        const XMLProperty* prop;
        XMLNode* geometry;
        
-       if ((geometry = find_named_node (node, "geometry")) == 0) {
+       m_width = default_width;
+       m_height = default_height;
+       m_root_x = 1;
+       m_root_y = 1;
+       
+       if ((geometry = find_named_node (node, "geometry")) != 0) {
 
-               m_width = default_width;
-               m_height = default_height;
-               m_root_x = 1;
-               m_root_y = 1;
+               XMLProperty* prop;
 
-       } else {
+               if ((prop = geometry->property("x_size")) == 0) {
+                       prop = geometry->property ("x-size");
+               }
+               if (prop) {
+                       m_width = atoi(prop->value());
+               }
+               if ((prop = geometry->property("y_size")) == 0) {
+                       prop = geometry->property ("y-size");
+               }
+               if (prop) {
+                       m_height = atoi(prop->value());
+               }
 
-               m_width = atoi(geometry->property("x_size")->value().c_str());
-               m_height = atoi(geometry->property("y_size")->value().c_str());
-               m_root_x = atoi(geometry->property("x_pos")->value().c_str());
-               m_root_y = atoi(geometry->property("y_pos")->value().c_str());
+               if ((prop = geometry->property ("x_pos")) == 0) {
+                       prop = geometry->property ("x-pos");
+               }
+               if (prop) {
+                       m_root_x = atoi (prop->value());
+                       
+               }
+               if ((prop = geometry->property ("y_pos")) == 0) {
+                       prop = geometry->property ("y-pos");
+               }
+               if (prop) {
+                       m_root_y = atoi (prop->value());
+               }
        }
 
        set_window_pos_and_size ();
@@ -1384,12 +1406,24 @@ Mixer_UI::pane_allocation_handler (Allocation& alloc, Gtk::Paned* which)
        int width, height;
        static int32_t done[3] = { 0, 0, 0 };
 
-       if ((geometry = find_named_node (*node, "geometry")) == 0) {
-               width = default_width;
-               height = default_height;
-       } else {
-               width = atoi(geometry->property("x_size")->value());
-               height = atoi(geometry->property("y_size")->value());
+       width = default_width;
+       height = default_height;
+
+       if ((geometry = find_named_node (*node, "geometry")) != 0) {
+
+
+               if ((prop = geometry->property ("x_size")) == 0) {
+                       prop = geometry->property ("x-size");
+               }
+               if (prop) {
+                       width = atoi (prop->value());
+               }
+               if ((prop = geometry->property ("y_size")) == 0) {
+                       prop = geometry->property ("y-size");
+               }
+               if (prop) {
+                       height = atoi (prop->value());
+               }
        }
 
        if (which == static_cast<Gtk::Paned*> (&rhs_pane1)) {