summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLars Kotthoff <larsko@uwyo.edu>2018-11-07 21:15:05 -0700
committerGaute Hope <eg@gaute.vetsj.com>2018-11-22 19:37:32 +0100
commit01b383c9963e1c0cff52c9510fe07086e2b0de0a (patch)
treede29eb23f762ce439a445ef1f7ad07e82f545ffb /src
parent640e20bbb16138b878af1f5546e1422c90fc57e6 (diff)
clean up webkit
Diffstat (limited to 'src')
-rw-r--r--src/modes/edit_message.cc8
-rw-r--r--src/modes/edit_message.hh2
-rw-r--r--src/modes/thread_index/thread_index.cc8
-rw-r--r--src/modes/thread_view/thread_view.cc7
-rw-r--r--src/plugin/manager.cc2
-rw-r--r--src/plugin/manager.hh2
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);