summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/eom-thumb-view.c2
-rw-r--r--src/eom-window.c12
2 files changed, 13 insertions, 1 deletions
diff --git a/src/eom-thumb-view.c b/src/eom-thumb-view.c
index 8394633..e52886c 100644
--- a/src/eom-thumb-view.c
+++ b/src/eom-thumb-view.c
@@ -102,7 +102,9 @@ eom_thumb_view_constructed (GObject *object)
FALSE);
g_object_set (thumbview->priv->pixbuf_cell,
+#if !GTK_CHECK_VERSION (3, 16, 0)
"follow-state", FALSE,
+#endif
"height", 100,
"width", 115,
"yalign", 0.5,
diff --git a/src/eom-window.c b/src/eom-window.c
index fef0b52..210ba40 100644
--- a/src/eom-window.c
+++ b/src/eom-window.c
@@ -4458,7 +4458,7 @@ eom_window_construct_ui (EomWindow *window)
gtk_box_pack_start (GTK_BOX (priv->layout), hpaned, TRUE, TRUE, 0);
- priv->thumbview = eom_thumb_view_new ();
+ priv->thumbview = g_object_ref (eom_thumb_view_new ());
/* giving shape to the view */
gtk_icon_view_set_margin (GTK_ICON_VIEW (priv->thumbview), 4);
@@ -4587,6 +4587,16 @@ eom_window_dispose (GObject *object)
priv->page_setup = NULL;
}
+ if (priv->thumbview)
+ {
+ /* Disconnect so we don't get any unwanted callbacks
+ * when the thumb view is disposed. */
+ g_signal_handlers_disconnect_by_func (priv->thumbview,
+ G_CALLBACK (handle_image_selection_changed_cb),
+ window);
+ g_clear_object (&priv->thumbview);
+ }
+
eom_plugin_engine_garbage_collect ();
if (priv->store != NULL) {