[gitg] Fixed crashing on switching revisions after selection in diff list



commit e26bb05e7583ffdcd8335906a5905310fee28e84
Author: Jesse van den Kieboom <jesse icecrew nl>
Date:   Tue Jun 23 21:55:30 2009 +0200

    Fixed crashing on switching revisions after selection in diff list

 gitg/gitg-revision-view.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)
---
diff --git a/gitg/gitg-revision-view.c b/gitg/gitg-revision-view.c
index 70db031..28e40ff 100644
--- a/gitg/gitg-revision-view.c
+++ b/gitg/gitg-revision-view.c
@@ -691,7 +691,9 @@ update_parents(GitgRevisionView *self, GitgRevision *revision)
 
 static void
 update_diff(GitgRevisionView *self, GitgRepository *repository)
-{	
+{
+	GtkTreeSelection *selection;
+	
 	// First cancel a possibly still running diff
 	gitg_runner_cancel(self->priv->diff_runner);
 	gitg_runner_cancel(self->priv->diff_files_runner);
@@ -702,8 +704,17 @@ update_diff(GitgRevisionView *self, GitgRepository *repository)
 	GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(self->priv->diff));
 	gtk_text_buffer_set_text(buffer, "", 0);
 	
+	selection = gtk_tree_view_get_selection(self->priv->diff_files);
+	g_signal_handlers_block_by_func(selection,
+	                                G_CALLBACK(on_diff_files_selection_changed),
+	                                self);
+
 	gtk_list_store_clear(self->priv->list_store_diff_files);
 	
+	g_signal_handlers_unblock_by_func(selection,
+	                                  G_CALLBACK(on_diff_files_selection_changed),
+	                                  self);
+	
 	if (!self->priv->revision)
 		return;
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]