summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-02-09 17:00:25 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-02-09 17:00:25 +0000
commit09f898d553de755492889eeb98b10ea24b298c11 (patch)
treede8f77622c655c5c5b379da6d38c6e935a779953 /libs
parent14543eb1374dc51834385d2f3886f1e6068223c5 (diff)
fixes for new button code; don't even make destructible sources non-writable; add a new binding/bindable for hte shuttle controller
git-svn-id: svn://localhost/ardour2/trunk@1440 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/audiofilesource.cc8
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/bindable_button.h2
2 files changed, 9 insertions, 1 deletions
diff --git a/libs/ardour/audiofilesource.cc b/libs/ardour/audiofilesource.cc
index 409fc04683..218eb783a9 100644
--- a/libs/ardour/audiofilesource.cc
+++ b/libs/ardour/audiofilesource.cc
@@ -581,5 +581,11 @@ AudioFileSource::safe_file_extension(string file)
void
AudioFileSource::mark_immutable ()
{
- _flags = Flag (_flags & ~(Writable|Removable|RemovableIfEmpty|RemoveAtDestroy|CanRename));
+ /* destructive sources stay writable, and their other flags don't
+ change.
+ */
+
+ if (!(_flags & Destructive)) {
+ _flags = Flag (_flags & ~(Writable|Removable|RemovableIfEmpty|RemoveAtDestroy|CanRename));
+ }
}
diff --git a/libs/gtkmm2ext/gtkmm2ext/bindable_button.h b/libs/gtkmm2ext/gtkmm2ext/bindable_button.h
index 845d3fa49e..8f63c843a5 100644
--- a/libs/gtkmm2ext/gtkmm2ext/bindable_button.h
+++ b/libs/gtkmm2ext/gtkmm2ext/bindable_button.h
@@ -42,6 +42,7 @@ class BindableToggleButton : public Gtkmm2ext::StatefulToggleButton
bool on_button_press_event (GdkEventButton *ev) {
if (!binding_proxy.button_press_handler (ev)) {
+ StatefulToggleButton::on_button_press_event (ev);
return false;
} else {
return true;
@@ -64,6 +65,7 @@ class BindableButton : public Gtkmm2ext::StatefulButton
bool on_button_press_event (GdkEventButton *ev) {
if (!binding_proxy.button_press_handler (ev)) {
+ StatefulButton::on_button_press_event (ev);
return false;
} else {
return true;