fix a crash when deleting a MIDI region with CC automation (see recipe below)
[ardour.git] / gtk2_ardour / gui_object.cc
index 5ea94f9c0cabb27aaf9759d1568b71c4e4dd79c9..3f6b79c8c677468b293b38f890331baad475ed63 100644 (file)
@@ -21,7 +21,7 @@
 #include <sstream>
 
 #include "gui_object.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 using std::string;
 
@@ -67,7 +67,7 @@ GUIObjectState::get_or_add_node (const string& id)
        if (i != object_map.end()) {
                return i->second;
        }
-       //assert (get_node (&_state, id) == 0); // XXX
+       //assert (get_node (&_state, id) == 0); // XXX performance penalty due to get_node()
        XMLNode* child = new XMLNode (X_("Object"));
        child->add_property (X_("id"), id);
        _state.add_child_nocopy (*child);
@@ -87,14 +87,15 @@ GUIObjectState::get_string (const string& id, const string& prop_name, bool* emp
 {
        std::map <std::string, XMLNode*>::const_iterator i = object_map.find (id);
        if (i == object_map.end()) {
-               //assert (get_node (&_state, id) == 0); // XXX
+               //assert (get_node (&_state, id) == 0); // XXX performance penalty due to get_node()
                if (empty) {
                        *empty = true;
                }
                return string ();
        }
+       //assert (get_node (&_state, id) == i->second); // XXX performance penalty due to get_node()
 
-       const XMLProperty* p (i->second->property (prop_name));
+       XMLProperty const * p (i->second->property (prop_name));
        if (!p) {
                if (empty) {
                        *empty = true;
@@ -130,7 +131,7 @@ GUIObjectState::set_state (const XMLNode& node)
                if ((*i)->name() != X_("Object")) {
                        continue;
                }
-               const XMLProperty* prop = (*i)->property (X_("id"));
+               XMLProperty const * prop = (*i)->property (X_("id"));
                if (!prop) {
                        continue;
                }