summaryrefslogtreecommitdiffstats
path: root/include/ingen
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-09-23 22:00:38 +0000
committerDavid Robillard <d@drobilla.net>2011-09-23 22:00:38 +0000
commit41f1be0a68676f33dc1d7dfbb32c5d6440ebd4c9 (patch)
tree4803c07d4d3ebf85093068d94484dd7029a57389 /include/ingen
parent1af9036d30ba65c6ec5e04902cdfdcfc88478e62 (diff)
downloadingen-41f1be0a68676f33dc1d7dfbb32c5d6440ebd4c9.tar.gz
ingen-41f1be0a68676f33dc1d7dfbb32c5d6440ebd4c9.tar.bz2
ingen-41f1be0a68676f33dc1d7dfbb32c5d6440ebd4c9.zip
Fix broken iterator use (memory errors on erase) in ResourceImpl::set_property.
Load all required modules before starting jack (Jack went crazy sometimes otherwise, particularly with ingen running in gdb). Fix insane non-const reference return to Resource::set_property. Exit cleanly on interrupt (Ctrl-C) and terminate (kill). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3480 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'include/ingen')
-rw-r--r--include/ingen/Resource.hpp2
-rw-r--r--include/ingen/client/ObjectModel.hpp4
-rw-r--r--include/ingen/client/PortModel.hpp6
3 files changed, 6 insertions, 6 deletions
diff --git a/include/ingen/Resource.hpp b/include/ingen/Resource.hpp
index 605aa97d..7a697967 100644
--- a/include/ingen/Resource.hpp
+++ b/include/ingen/Resource.hpp
@@ -116,7 +116,7 @@ public:
virtual const Properties& properties() const = 0;
virtual Properties& properties() = 0;
virtual const Raul::Atom& get_property(const Raul::URI& uri) const = 0;
- virtual Raul::Atom& set_property(const Raul::URI& uri,
+ virtual const Raul::Atom& set_property(const Raul::URI& uri,
const Raul::Atom& value,
Graph ctx=DEFAULT) = 0;
virtual void add_property(const Raul::URI& uri,
diff --git a/include/ingen/client/ObjectModel.hpp b/include/ingen/client/ObjectModel.hpp
index d3959f4f..1f446bb0 100644
--- a/include/ingen/client/ObjectModel.hpp
+++ b/include/ingen/client/ObjectModel.hpp
@@ -57,8 +57,8 @@ public:
const Raul::Atom& get_property(const Raul::URI& key) const;
- Raul::Atom& set_property(const Raul::URI& key, const Raul::Atom& value,
- Resource::Graph ctx);
+ const Raul::Atom& set_property(const Raul::URI& key, const Raul::Atom& value,
+ Resource::Graph ctx);
void add_property(const Raul::URI& key, const Raul::Atom& value);
const Raul::Path& path() const { return _path; }
diff --git a/include/ingen/client/PortModel.hpp b/include/ingen/client/PortModel.hpp
index 0786e7fc..7fd4d746 100644
--- a/include/ingen/client/PortModel.hpp
+++ b/include/ingen/client/PortModel.hpp
@@ -63,9 +63,9 @@ public:
inline bool operator==(const PortModel& pm) const { return (path() == pm.path()); }
- Raul::Atom& set_property(const Raul::URI& uri,
- const Raul::Atom& value,
- Resource::Graph ctx);
+ const Raul::Atom& set_property(const Raul::URI& uri,
+ const Raul::Atom& value,
+ Resource::Graph ctx);
inline void value(const Raul::Atom& val) {
if (val != _current_val) {