summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-10-18 17:42:59 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-10-18 17:42:59 +0000
commit0c31e4c4f3d0bfe37d26a793c934f1b436f8fa0f (patch)
tree4699d75314f5a1952404408de6bb18edc5984b6f /gtk2_ardour
parent177b2a2a17ad7ceb75b2149429363dad74a11530 (diff)
more object lifetime management fixes, plus a couple of tiny cleanups
git-svn-id: svn://localhost/ardour2/trunk@992 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour.menus2
-rw-r--r--gtk2_ardour/editor_ops.cc4
-rw-r--r--gtk2_ardour/route_ui.cc14
-rw-r--r--gtk2_ardour/route_ui.h2
-rw-r--r--gtk2_ardour/send_ui.cc11
-rw-r--r--gtk2_ardour/send_ui.h1
6 files changed, 10 insertions, 24 deletions
diff --git a/gtk2_ardour/ardour.menus b/gtk2_ardour/ardour.menus
index d9019dad06..5ea002da27 100644
--- a/gtk2_ardour/ardour.menus
+++ b/gtk2_ardour/ardour.menus
@@ -291,8 +291,6 @@
<menuitem action='SendMTC'/>
<menuitem action='SendMMC'/>
<menuitem action='UseMMC'/>
- <menuitem action='SendMIDIfeedback'/>
- <menuitem action='UseMIDIcontrol'/>
<separator/>
<menuitem action='StopPluginsWithTransport'/>
<menuitem action='DoNotRunPluginsWhileRecording'/>
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index 5baf37b6b3..0a3104d36a 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -951,8 +951,8 @@ Editor::scroll_forward (float pages)
}
}
- if (ULONG_MAX - cnt < leftmost_frame) {
- frame = ULONG_MAX - cnt;
+ if (max_frames - cnt < leftmost_frame) {
+ frame = max_frames - cnt;
} else {
frame = leftmost_frame + cnt;
}
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index 824bdb7b6d..482f5df22f 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -26,6 +26,8 @@
#include <ardour/route_group.h>
#include <pbd/memento_command.h>
+#include <pbd/stacktrace.h>
+#include <pbd/shiva.h>
#include "route_ui.h"
#include "keyboard.h"
@@ -44,7 +46,6 @@ using namespace Gtkmm2ext;
using namespace ARDOUR;
using namespace PBD;
-
RouteUI::RouteUI (boost::shared_ptr<ARDOUR::Route> rt, ARDOUR::Session& sess, const char* m_name,
const char* s_name, const char* r_name)
: AxisView(sess),
@@ -65,7 +66,8 @@ RouteUI::RouteUI (boost::shared_ptr<ARDOUR::Route> rt, ARDOUR::Session& sess, co
set_color (unique_random_color());
}
- _route->GoingAway.connect (mem_fun (*this, &RouteUI::route_removed));
+ new Shiva<Route,RouteUI> (*_route, *this);
+
_route->active_changed.connect (mem_fun (*this, &RouteUI::route_active_changed));
mute_button = manage (new BindableToggleButton (_route->mute_control(), m_name ));
@@ -95,6 +97,7 @@ RouteUI::RouteUI (boost::shared_ptr<ARDOUR::Route> rt, ARDOUR::Session& sess, co
RouteUI::~RouteUI()
{
+ GoingAway (); /* EMIT SIGNAL */
delete mute_menu;
}
@@ -730,13 +733,6 @@ RouteUI::idle_remove_this_route (RouteUI *rui)
}
void
-RouteUI::route_removed ()
-{
- ENSURE_GUI_THREAD(mem_fun (*this, &RouteUI::route_removed));
- delete this;
-}
-
-void
RouteUI::route_rename ()
{
ArdourPrompter name_prompter (true);
diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h
index ea86041986..6ea867745f 100644
--- a/gtk2_ardour/route_ui.h
+++ b/gtk2_ardour/route_ui.h
@@ -153,6 +153,8 @@ class RouteUI : public virtual AxisView
void reversibly_apply_route_boolean (string name, void (ARDOUR::Route::*func)(bool, void*), bool, void *);
void reversibly_apply_audio_track_boolean (string name, void (ARDOUR::AudioTrack::*func)(bool, void*), bool, void *);
+
+ sigc::signal<void> GoingAway;
};
#endif /* __ardour_route_ui__ */
diff --git a/gtk2_ardour/send_ui.cc b/gtk2_ardour/send_ui.cc
index 88b8b304e4..c4656834a6 100644
--- a/gtk2_ardour/send_ui.cc
+++ b/gtk2_ardour/send_ui.cc
@@ -98,14 +98,6 @@ SendUI::outs_changed (IOChange change, void* ignored)
}
void
-SendUI::send_going_away ()
-{
- ENSURE_GUI_THREAD (mem_fun (*this, &SendUI::send_going_away))
-
- delete this;
-}
-
-void
SendUI::update ()
{
}
@@ -146,7 +138,6 @@ void
SendUIWindow::send_going_away ()
{
ENSURE_GUI_THREAD (mem_fun (*this, &SendUIWindow::send_going_away));
-
- delete this;
+ delete_when_idle (this);
}
diff --git a/gtk2_ardour/send_ui.h b/gtk2_ardour/send_ui.h
index c8576cab9e..b64e3c8e58 100644
--- a/gtk2_ardour/send_ui.h
+++ b/gtk2_ardour/send_ui.h
@@ -54,7 +54,6 @@ class SendUI : public Gtk::HBox
sigc::connection screen_update_connection;
sigc::connection fast_screen_update_connection;
- void send_going_away ();
void ins_changed (ARDOUR::IOChange, void*);
void outs_changed (ARDOUR::IOChange, void*);
};