diff options
author | David Robillard <d@drobilla.net> | 2015-10-26 16:29:11 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2015-10-26 16:29:11 +0000 |
commit | 965a74ae42dae3ff42f1dcc7c53dddb2b5a31b09 (patch) | |
tree | 10fddc515234d9a1fc5724d134b88eb8c124904f /src/gui/PropertiesWindow.cpp | |
parent | 06eb959bf1c249dd66a5a56b78df0ad0de7df29c (diff) | |
download | ingen-965a74ae42dae3ff42f1dcc7c53dddb2b5a31b09.tar.gz ingen-965a74ae42dae3ff42f1dcc7c53dddb2b5a31b09.tar.bz2 ingen-965a74ae42dae3ff42f1dcc7c53dddb2b5a31b09.zip |
Use URIDs almost everywhere
This fixes some issues where types are lost after saving and
re-loading many times.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5788 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/PropertiesWindow.cpp')
-rw-r--r-- | src/gui/PropertiesWindow.cpp | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/gui/PropertiesWindow.cpp b/src/gui/PropertiesWindow.cpp index 0ae2709d..09474027 100644 --- a/src/gui/PropertiesWindow.cpp +++ b/src/gui/PropertiesWindow.cpp @@ -449,16 +449,16 @@ PropertiesWindow::get_value(LV2_URID type, Gtk::Widget* value_widget) if (check) { return _app->forge().make(check->get_active()); } - } else if (type == forge.URI) { + } else if (type == forge.URI || type == forge.URID) { URIEntry* uri_entry = dynamic_cast<URIEntry*>(value_widget); if (uri_entry) { - return _app->forge().alloc_uri(uri_entry->get_text()); - } - } else if (type == forge.URID) { - URIEntry* uri_entry = dynamic_cast<URIEntry*>(value_widget); - if (uri_entry) { - return _app->forge().make_urid( - _app->world()->uri_map().map_uri(uri_entry->get_text())); + if (Raul::URI::is_valid(uri_entry->get_text())) { + return _app->forge().make_urid( + _app->world()->uri_map().map_uri(uri_entry->get_text())); + } else { + _app->log().error(fmt("Invalid URI <%1%>\n\n") + % uri_entry->get_text()); + } } } else if (type == forge.String) { Gtk::Entry* entry = dynamic_cast<Gtk::Entry*>(value_widget); @@ -467,11 +467,6 @@ PropertiesWindow::get_value(LV2_URID type, Gtk::Widget* value_widget) } } - URIEntry* uri_entry = dynamic_cast<URIEntry*>(value_widget); - if (uri_entry) { - return _app->forge().alloc_uri(uri_entry->get_text()); - } - return Atom(); } |