diff options
Diffstat (limited to 'src/progs/ingenuity/PatchWindow.cpp')
-rw-r--r-- | src/progs/ingenuity/PatchWindow.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/progs/ingenuity/PatchWindow.cpp b/src/progs/ingenuity/PatchWindow.cpp index 6915b4a1..07bcb781 100644 --- a/src/progs/ingenuity/PatchWindow.cpp +++ b/src/progs/ingenuity/PatchWindow.cpp @@ -122,7 +122,7 @@ PatchWindow::~PatchWindow() // Prevents deletion //m_patch->claim_patch_view(); - App::instance().remove_patch_window(this); + //App::instance().remove_patch_window(this); delete m_breadcrumb_box; } @@ -188,11 +188,20 @@ PatchWindow::set_patch(CountedPtr<PatchModel> patch, CountedPtr<PatchView> view) else m_menu_destroy_patch->set_sensitive(true); + m_patch->destroyed_sig.connect(sigc::mem_fun(this, &PatchWindow::patch_destroyed)); + m_enable_signal = true; } void +PatchWindow::patch_destroyed() +{ + App::instance().window_factory()->remove_patch_window(this); +} + + +void PatchWindow::event_show_engine() { if (m_patch) @@ -303,7 +312,6 @@ PatchWindow::on_show() void PatchWindow::on_hide() { - claim_breadcrumbs(); m_position_stored = true; get_position(m_x, m_y); Gtk::Window::on_hide(); @@ -383,11 +391,5 @@ PatchWindow::event_fullscreen_toggled() } } -void -PatchWindow::claim_breadcrumbs() -{ - m_breadcrumb_box->reparent(m_breadcrumb_bin); -} - } // namespace Ingenuity |