summaryrefslogtreecommitdiff
path: root/libs/pbd
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-04-04 12:21:26 +0000
committerCarl Hetherington <carl@carlh.net>2011-04-04 12:21:26 +0000
commit02cfe41bff57712e59f7169037d694a3dd6a1420 (patch)
tree02d58170bfc5567caff21b8a6b08e66cd9f790dc /libs/pbd
parentb850f5846799ce416b3203a4ee585f5d925ef066 (diff)
Update region peak amplitude when the region is trimmed (#3931).
git-svn-id: svn://localhost/ardour2/branches/3.0@9276 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/pbd')
-rw-r--r--libs/pbd/base_ui.cc3
-rw-r--r--libs/pbd/crossthread.cc20
-rw-r--r--libs/pbd/pbd/crossthread.h2
3 files changed, 14 insertions, 11 deletions
diff --git a/libs/pbd/base_ui.cc b/libs/pbd/base_ui.cc
index ce7018a005..d56e4a31a4 100644
--- a/libs/pbd/base_ui.cc
+++ b/libs/pbd/base_ui.cc
@@ -41,7 +41,8 @@ BaseUI::RequestType BaseUI::CallSlot = BaseUI::new_request_type();
BaseUI::RequestType BaseUI::Quit = BaseUI::new_request_type();
BaseUI::BaseUI (const string& str)
- : run_loop_thread (0)
+ : request_channel (true)
+ , run_loop_thread (0)
, _name (str)
{
base_ui_instance = this;
diff --git a/libs/pbd/crossthread.cc b/libs/pbd/crossthread.cc
index 12ca19b945..553c8d52f3 100644
--- a/libs/pbd/crossthread.cc
+++ b/libs/pbd/crossthread.cc
@@ -30,7 +30,7 @@ using namespace std;
using namespace PBD;
using namespace Glib;
-CrossThreadChannel::CrossThreadChannel ()
+CrossThreadChannel::CrossThreadChannel (bool non_blocking)
{
_ios = 0;
fds[0] = -1;
@@ -41,14 +41,16 @@ CrossThreadChannel::CrossThreadChannel ()
return;
}
- if (fcntl (fds[0], F_SETFL, O_NONBLOCK)) {
- error << "cannot set non-blocking mode for x-thread pipe (read) (" << ::strerror (errno) << ')' << endmsg;
- return;
- }
-
- if (fcntl (fds[1], F_SETFL, O_NONBLOCK)) {
- error << "cannot set non-blocking mode for x-thread pipe (write) (%2)" << ::strerror (errno) << ')' << endmsg;
- return;
+ if (non_blocking) {
+ if (fcntl (fds[0], F_SETFL, O_NONBLOCK)) {
+ error << "cannot set non-blocking mode for x-thread pipe (read) (" << ::strerror (errno) << ')' << endmsg;
+ return;
+ }
+
+ if (fcntl (fds[1], F_SETFL, O_NONBLOCK)) {
+ error << "cannot set non-blocking mode for x-thread pipe (write) (%2)" << ::strerror (errno) << ')' << endmsg;
+ return;
+ }
}
}
diff --git a/libs/pbd/pbd/crossthread.h b/libs/pbd/pbd/crossthread.h
index f16cab9405..a791be5798 100644
--- a/libs/pbd/pbd/crossthread.h
+++ b/libs/pbd/pbd/crossthread.h
@@ -28,7 +28,7 @@
class CrossThreadChannel {
public:
- CrossThreadChannel();
+ CrossThreadChannel(bool);
~CrossThreadChannel();
void wakeup();