diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-04-09 14:22:58 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-04-09 14:22:58 -0400 |
commit | 053eaf77fde7639d4e200d36a9db99b2d4fc615b (patch) | |
tree | 1ef0d29aae9c0130b74ae42abb4bb2873291d5ae /gtk2_ardour | |
parent | 1267b1d61cbce8688f3d0f1c4c7932de49735e75 (diff) |
a variety of fixes for the cairocanvas, but it still buggy as hell handling events and lots of other stuff
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/marker.cc | 8 | ||||
-rw-r--r-- | gtk2_ardour/marker.h | 1 |
2 files changed, 6 insertions, 3 deletions
diff --git a/gtk2_ardour/marker.cc b/gtk2_ardour/marker.cc index 246f1f4087..875fd4cdf3 100644 --- a/gtk2_ardour/marker.cc +++ b/gtk2_ardour/marker.cc @@ -282,15 +282,19 @@ Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, con editor.ZoomChanged.connect (sigc::mem_fun (*this, &Marker::reposition)); - group->set_data ("marker", this); + /* events will be handled by both the group and the mark itself, so + * make sure they can both be used to lookup this object. + */ + group->set_data ("marker", this); + mark->set_data ("marker", this); + if (handle_events) { group->Event.connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_marker_event), group, this)); } } - Marker::~Marker () { CatchDeletion (this); /* EMIT SIGNAL */ diff --git a/gtk2_ardour/marker.h b/gtk2_ardour/marker.h index 62793264ae..6bd97270da 100644 --- a/gtk2_ardour/marker.h +++ b/gtk2_ardour/marker.h @@ -104,7 +104,6 @@ class Marker : public sigc::trackable ArdourCanvas::Text *_name_item; ArdourCanvas::Points *points; ArdourCanvas::Line* _line; - ArdourCanvas::Points *line_points; ArdourCanvas::Rectangle* _name_background; std::string _name; |