summaryrefslogtreecommitdiffstats
path: root/src/JackDriver.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-01-15 21:36:22 +0000
committerDavid Robillard <d@drobilla.net>2007-01-15 21:36:22 +0000
commit014ba4fb2d72bdc481c2ba76bd53901a39725b86 (patch)
tree638275625f694df61226e70f06281d0372ff7cdc /src/JackDriver.cpp
parentf0b1962683cf24caa94f9176536a667a179cfc52 (diff)
downloadpatchage-014ba4fb2d72bdc481c2ba76bd53901a39725b86.tar.gz
patchage-014ba4fb2d72bdc481c2ba76bd53901a39725b86.tar.bz2
patchage-014ba4fb2d72bdc481c2ba76bd53901a39725b86.zip
Fix potential crash on module removal.
Don't "pretend" to set Jack buffer size when change fails. git-svn-id: http://svn.drobilla.net/lad/patchage@260 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/JackDriver.cpp')
-rw-r--r--src/JackDriver.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/JackDriver.cpp b/src/JackDriver.cpp
index ddb6744..77625bc 100644
--- a/src/JackDriver.cpp
+++ b/src/JackDriver.cpp
@@ -459,14 +459,24 @@ JackDriver::reset_xruns()
}
-void
+bool
JackDriver::set_buffer_size(jack_nframes_t size)
{
- if (buffer_size() == size)
- return;
+ if (buffer_size() == size) {
+ return true;
+ }
+
+ if (!m_client) {
+ m_buffer_size = size;
+ return true;
+ }
- if (m_client && jack_set_buffer_size(m_client, size))
+ if (jack_set_buffer_size(m_client, size)) {
m_app->status_message("[JACK] ERROR: Unable to set buffer size");
+ return false;
+ } else {
+ return true;
+ }
}
void