summaryrefslogtreecommitdiff
path: root/gtk2_ardour/patch_change.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-02-11 22:48:18 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2014-02-11 22:48:18 -0500
commit50a014acf0d7a3d9c57fd36e32836400eeefbd59 (patch)
tree1031ee6c284ba35225a380f8583f64f220676457 /gtk2_ardour/patch_change.cc
parent3bbbf567189b6bdb158c4b788a179c2e727c2642 (diff)
delete canvas Flag object when deleting a PatchChange, and provide a canvas debug name for PatchChanges
Diffstat (limited to 'gtk2_ardour/patch_change.cc')
-rw-r--r--gtk2_ardour/patch_change.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/gtk2_ardour/patch_change.cc b/gtk2_ardour/patch_change.cc
index df824f4342..6be40811bf 100644
--- a/gtk2_ardour/patch_change.cc
+++ b/gtk2_ardour/patch_change.cc
@@ -24,7 +24,12 @@
#include <glibmm/regex.h>
#include "gtkmm2ext/keyboard.h"
+#include "gtkmm2ext/utils.h"
+
#include "ardour/midi_patch_manager.h"
+
+#include "canvas/debug.h"
+
#include "ardour_ui.h"
#include "midi_region_view.h"
#include "patch_change.h"
@@ -58,12 +63,15 @@ PatchChange::PatchChange(
ArdourCanvas::Duple (x, y)
);
+ CANVAS_DEBUG_NAME (_flag, text);
+
_flag->Event.connect (sigc::mem_fun (*this, &PatchChange::event_handler));
_flag->set_text(text);
}
PatchChange::~PatchChange()
{
+ delete _flag;
}
void
@@ -147,11 +155,11 @@ PatchChange::on_patch_menu_selected(const PatchPrimaryKey& key)
bool
PatchChange::event_handler (GdkEvent* ev)
{
+ /* XXX: icky dcast */
+ Editor* e = dynamic_cast<Editor*> (&_region.get_time_axis_view().editor());
+
switch (ev->type) {
case GDK_BUTTON_PRESS:
- {
- /* XXX: icky dcast */
- Editor* e = dynamic_cast<Editor*> (&_region.get_time_axis_view().editor());
if (e->current_mouse_mode() == Editing::MouseObject && e->internal_editing()) {
if (Gtkmm2ext::Keyboard::is_delete_event (&ev->button)) {
@@ -179,7 +187,6 @@ PatchChange::event_handler (GdkEvent* ev)
return true;
}
break;
- }
case GDK_KEY_PRESS:
switch (ev->key.keyval) {