diff options
author | Lars Kotthoff <larsko@uwyo.edu> | 2018-11-07 21:15:05 -0700 |
---|---|---|
committer | Gaute Hope <eg@gaute.vetsj.com> | 2018-11-22 19:37:32 +0100 |
commit | 01b383c9963e1c0cff52c9510fe07086e2b0de0a (patch) | |
tree | de29eb23f762ce439a445ef1f7ad07e82f545ffb | |
parent | 640e20bbb16138b878af1f5546e1422c90fc57e6 (diff) |
clean up webkit
-rw-r--r-- | src/modes/edit_message.cc | 8 | ||||
-rw-r--r-- | src/modes/edit_message.hh | 2 | ||||
-rw-r--r-- | src/modes/thread_index/thread_index.cc | 8 | ||||
-rw-r--r-- | src/modes/thread_view/thread_view.cc | 7 | ||||
-rw-r--r-- | src/plugin/manager.cc | 2 | ||||
-rw-r--r-- | src/plugin/manager.hh | 2 |
6 files changed, 19 insertions, 10 deletions
diff --git a/src/modes/edit_message.cc b/src/modes/edit_message.cc index a427338..e5a9c16 100644 --- a/src/modes/edit_message.cc +++ b/src/modes/edit_message.cc @@ -212,7 +212,7 @@ namespace Astroid { } # endif - thread_view = Gtk::manage(new ThreadView(main_window, true)); + thread_view = new ThreadView(main_window, true); //thread_rev->add (*thread_view); editor_box->pack_start (*thread_view, false, false, 2); @@ -545,6 +545,12 @@ namespace Astroid { if (is_regular_file (tmpfile_path)) { boost::filesystem::remove (tmpfile_path); } + + delete thread_view; + } + + void EditMessage::pre_close () { + ((Mode*) thread_view)->pre_close (); } void EditMessage::close (bool force) { diff --git a/src/modes/edit_message.hh b/src/modes/edit_message.hh index d867f26..4aa812e 100644 --- a/src/modes/edit_message.hh +++ b/src/modes/edit_message.hh @@ -128,6 +128,8 @@ namespace Astroid { ThreadView * thread_view; Gtk::Revealer *editor_rev, *thread_rev; + void pre_close () override; + static int edit_id; // must be incremented each time a new editor is started int id; // id of this instance time_t msg_time; diff --git a/src/modes/thread_index/thread_index.cc b/src/modes/thread_index/thread_index.cc index 9ff982c..f0c06db 100644 --- a/src/modes/thread_index/thread_index.cc +++ b/src/modes/thread_index/thread_index.cc @@ -32,10 +32,10 @@ namespace Astroid { list_store = Glib::RefPtr<ThreadIndexListStore>(new ThreadIndexListStore ()); queryloader.list_store = list_store; - list_view = Gtk::manage(new ThreadIndexListView (this, list_store)); + list_view = new ThreadIndexListView (this, list_store); queryloader.list_view = list_view; - scroll = Gtk::manage(new ThreadIndexScrolled (main_window, list_store, list_view)); + scroll = new ThreadIndexScrolled (main_window, list_store, list_view); list_view->set_sort_type (queryloader.sort); @@ -230,10 +230,10 @@ namespace Astroid { if (new_window) { MainWindow * nmw = astroid->open_new_window (false); - tv = Gtk::manage(new ThreadView (nmw)); + tv = new ThreadView (nmw); nmw->add_mode (tv); } else if (new_tab) { - tv = Gtk::manage(new ThreadView (main_window)); + tv = new ThreadView (main_window); main_window->add_mode (tv); } else { LOG (debug) << "ti: init paned tv"; diff --git a/src/modes/thread_view/thread_view.cc b/src/modes/thread_view/thread_view.cc index 72a8508..b48e6ee 100644 --- a/src/modes/thread_view/thread_view.cc +++ b/src/modes/thread_view/thread_view.cc @@ -112,8 +112,13 @@ namespace Astroid { "settings", websettings, NULL)); + if (g_object_is_floating (webview)) g_object_ref_sink (webview); + g_object_unref (context); + g_object_unref (websettings); + gtk_box_pack_start (GTK_BOX (this->gobj ()), GTK_WIDGET (webview), true, true, 0); + g_signal_connect (webview, "load-changed", G_CALLBACK(ThreadView_on_load_changed), (gpointer) this ); @@ -141,7 +146,7 @@ namespace Astroid { ThreadView::~ThreadView () { // LOG (debug) << "tv: deconstruct."; - g_object_unref (websettings); + g_object_unref (webview); } void ThreadView::pre_close () { diff --git a/src/plugin/manager.cc b/src/plugin/manager.cc index b8e47db..2ea165f 100644 --- a/src/plugin/manager.cc +++ b/src/plugin/manager.cc @@ -323,8 +323,6 @@ namespace Astroid { * ThreadViewExtension * ************************/ PluginManager::ThreadViewExtension::ThreadViewExtension (ThreadView * tv) { - thread_view = tv; - if (astroid->plugin_manager->disabled) return; /* loading extensions for each plugin */ diff --git a/src/plugin/manager.hh b/src/plugin/manager.hh index 1858614..a346667 100644 --- a/src/plugin/manager.hh +++ b/src/plugin/manager.hh @@ -63,8 +63,6 @@ namespace Astroid { }; class ThreadViewExtension : public Extension { - private: - ThreadView * thread_view; public: ThreadViewExtension (ThreadView * ti); |