summaryrefslogtreecommitdiffstats
path: root/src/progs/ingenuity/PatchWindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/progs/ingenuity/PatchWindow.cpp')
-rw-r--r--src/progs/ingenuity/PatchWindow.cpp18
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