diff options
author | David Robillard <d@drobilla.net> | 2011-06-03 18:14:32 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-06-03 18:14:32 +0000 |
commit | eac59697740e943f2e2c7a2382bc3399e7aa7cfc (patch) | |
tree | c888aeef713e788d93a1c370aeda727378007def /src/gui/MachinaCanvas.cpp | |
parent | 890a0f771f0f2b2996525d0f8ccf72d93c7bdc6b (diff) | |
download | machina-eac59697740e943f2e2c7a2382bc3399e7aa7cfc.tar.gz machina-eac59697740e943f2e2c7a2382bc3399e7aa7cfc.tar.bz2 machina-eac59697740e943f2e2c7a2382bc3399e7aa7cfc.zip |
Remove use of boost::enable_shared_from_this<Canvas>.
Instead, just store a pointer to the containing canvas in Items, since it should not be possible for an Item to outlive its containing Canvas anyway. Shrinks Item memory overhead a tad and gives a minor performance boost as an added bonus.
git-svn-id: http://svn.drobilla.net/lad/trunk/machina@3354 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/MachinaCanvas.cpp')
-rw-r--r-- | src/gui/MachinaCanvas.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gui/MachinaCanvas.cpp b/src/gui/MachinaCanvas.cpp index b65a4bb..efb677f 100644 --- a/src/gui/MachinaCanvas.cpp +++ b/src/gui/MachinaCanvas.cpp @@ -100,7 +100,7 @@ MachinaCanvas::on_new_object(SharedPtr<Client::ClientObject> object) const Raul::Atom& type = object->get(uris.rdf_type); if (type == "machina:Node") { SharedPtr<NodeView> view( - new NodeView(_app->window(), shared_from_this(), object, + new NodeView(_app->window(), *this, object, object->get(uris.machina_canvas_x).get_float(), object->get(uris.machina_canvas_y).get_float())); @@ -124,7 +124,7 @@ MachinaCanvas::on_new_object(SharedPtr<Client::ClientObject> object) SharedPtr<NodeView> head_view = PtrCast<NodeView>(head->view()); SharedPtr<EdgeView> view( - new EdgeView(shared_from_this(), tail_view, head_view, object)); + new EdgeView(*this, tail_view, head_view, object)); tail_view->add_connection(view); head_view->add_connection(view); |