summaryrefslogtreecommitdiffstats
path: root/src/gui/PatchBox.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-04-05 02:38:40 +0000
committerDavid Robillard <d@drobilla.net>2012-04-05 02:38:40 +0000
commitabcc960e3a6a41973e8cd66fc528faf76745ffb8 (patch)
tree9d0f1674ad56b3de2f37ddb86119780f08a06da6 /src/gui/PatchBox.cpp
parentaa399711b4d87d9fbe9b116559aff5271177d416 (diff)
downloadingen-abcc960e3a6a41973e8cd66fc528faf76745ffb8.tar.gz
ingen-abcc960e3a6a41973e8cd66fc528faf76745ffb8.tar.bz2
ingen-abcc960e3a6a41973e8cd66fc528faf76745ffb8.zip
Fix subpatch creation (fix #826).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4144 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/PatchBox.cpp')
-rw-r--r--src/gui/PatchBox.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gui/PatchBox.cpp b/src/gui/PatchBox.cpp
index 61f2fb9f..11921fa6 100644
--- a/src/gui/PatchBox.cpp
+++ b/src/gui/PatchBox.cpp
@@ -198,7 +198,16 @@ PatchBox::init_box(App& app)
void
PatchBox::set_patch_from_path(const Raul::Path& path, SharedPtr<PatchView> view)
{
- std::cerr << "FIXME: Set patch from path" << std::endl;
+ if (view) {
+ assert(view->patch()->path() == path);
+ _app->window_factory()->present_patch(view->patch(), _window, view);
+ } else {
+ SharedPtr<const PatchModel> model = PtrCast<const PatchModel>(
+ _app->store()->object(path));
+ if (model) {
+ _app->window_factory()->present_patch(model, _window);
+ }
+ }
}
/** Sets the patch for this box and initializes everything.