summaryrefslogtreecommitdiffstats
path: root/src/server/ingen_lv2.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-11-18 00:05:31 +0000
committerDavid Robillard <d@drobilla.net>2012-11-18 00:05:31 +0000
commitb4718b5cc8334489a1eb50df9db920bc0b01375c (patch)
treea082532a4d958c77217244b28c36bc764e71b564 /src/server/ingen_lv2.cpp
parentd04ce4cb7d4aa3eb72bc79c09dfe5bb025ad79f4 (diff)
downloadingen-b4718b5cc8334489a1eb50df9db920bc0b01375c.tar.gz
ingen-b4718b5cc8334489a1eb50df9db920bc0b01375c.tar.bz2
ingen-b4718b5cc8334489a1eb50df9db920bc0b01375c.zip
Fix Plugin=>UI ring overflow handling.
Gracefully handle client receiving nodes with as-yet unknown plugins. Don't initially send all plugins to UI (kills LV2 in particular), request on demand instead. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4829 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/ingen_lv2.cpp')
-rw-r--r--src/server/ingen_lv2.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/ingen_lv2.cpp b/src/server/ingen_lv2.cpp
index fcada858..f64e9c45 100644
--- a/src/server/ingen_lv2.cpp
+++ b/src/server/ingen_lv2.cpp
@@ -337,7 +337,6 @@ public:
}
if (seq->atom.size + sizeof(LV2_Atom) + atom.size > _notify_capacity) {
- std::cerr << "Notify overflow" << std::endl;
break; // Output port buffer full, resume next time
}
@@ -357,7 +356,9 @@ public:
seq->atom.size += sizeof(LV2_Atom_Event) + ev->body.size;
}
- _to_ui_overflow_sem.post();
+ if (_to_ui_overflow) {
+ _to_ui_overflow_sem.post();
+ }
}
virtual SampleCount block_length() const { return _block_length; }