diff options
| -rw-r--r-- | src/eom-thumb-view.c | 2 | ||||
| -rw-r--r-- | src/eom-window.c | 12 | 
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) { | 
