From 91d5cb109563c67bdad5f3ebeaafc8e1e8f7e14a Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 3 Oct 2006 22:24:22 +0000 Subject: shared_ptr bugfixes. Updated Ingen to work with new FlowCanvas. Updated Patchage to work with new(er) FlowCanvas. git-svn-id: http://svn.drobilla.net/lad/ingen@152 a436a847-0d15-0410-975c-d299462d15a1 --- src/progs/ingenuity/PatchView.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/progs/ingenuity/PatchView.cpp') diff --git a/src/progs/ingenuity/PatchView.cpp b/src/progs/ingenuity/PatchView.cpp index fbebd886..69dcf0b8 100644 --- a/src/progs/ingenuity/PatchView.cpp +++ b/src/progs/ingenuity/PatchView.cpp @@ -35,7 +35,6 @@ namespace Ingenuity { PatchView::PatchView(BaseObjectType* cobject, const Glib::RefPtr& xml) : Gtk::Box(cobject), - _canvas(NULL), _breadcrumb_container(NULL), _enable_signal(true) { @@ -57,12 +56,15 @@ PatchView::PatchView(BaseObjectType* cobject, const Glib::RefPtr patch) { + assert(!_canvas); // FIXME: remove + cerr << "Creating view for " << patch->path() << endl; assert(_breadcrumb_container); // ensure created _patch = patch; - _canvas = new PatchCanvas(patch, 1600*2, 1200*2); + _canvas = CountedPtr(new PatchCanvas(patch, 1600*2, 1200*2)); + _canvas->build(); _canvas_scrolledwindow->add(*_canvas); @@ -80,10 +82,10 @@ PatchView::set_patch(CountedPtr patch) _refresh_but->signal_clicked().connect(sigc::mem_fun(this, &PatchView::refresh_clicked)); _zoom_normal_but->signal_clicked().connect(sigc::bind(sigc::mem_fun( - static_cast(_canvas), &FlowCanvas::set_zoom), 1.0)); + _canvas.get(), &FlowCanvas::set_zoom), 1.0)); _zoom_full_but->signal_clicked().connect( - sigc::mem_fun(static_cast(_canvas), &FlowCanvas::zoom_full)); + sigc::mem_fun(_canvas.get(), &FlowCanvas::zoom_full)); } -- cgit v1.2.1