diff -up gnome-utils-2.20.0.1/logview/log_repaint.c.versions gnome-utils-2.20.0.1/logview/log_repaint.c --- gnome-utils-2.20.0.1/logview/log_repaint.c.versions 2007-11-16 13:29:00.000000000 -0500 +++ gnome-utils-2.20.0.1/logview/log_repaint.c 2007-11-16 13:29:43.000000000 -0500 @@ -226,6 +226,8 @@ logview_update_version_bar (LogviewWindo else recent = log; + g_signal_handler_block (logview->version_selector, logview->version_changed_id); + for (i=5; i>-1; i--) gtk_combo_box_remove_text (GTK_COMBO_BOX (logview->version_selector), i); @@ -241,6 +243,8 @@ logview_update_version_bar (LogviewWindo gtk_combo_box_set_active (GTK_COMBO_BOX (logview->version_selector), log->current_version); + g_signal_handler_unblock (logview->version_selector, logview->version_changed_id); + } else { gtk_widget_hide (logview->version_bar); } diff -up gnome-utils-2.20.0.1/logview/logview.h.versions gnome-utils-2.20.0.1/logview/logview.h --- gnome-utils-2.20.0.1/logview/logview.h.versions 2007-11-16 13:27:55.000000000 -0500 +++ gnome-utils-2.20.0.1/logview/logview.h 2007-11-16 13:28:05.000000000 -0500 @@ -55,6 +55,7 @@ struct _LogviewWindow { Log *curlog; int original_fontsize, fontsize; + gulong version_changed_id; }; struct _LogviewWindowClass { diff -up gnome-utils-2.20.0.1/logview/logview.c.versions gnome-utils-2.20.0.1/logview/logview.c --- gnome-utils-2.20.0.1/logview/logview.c.versions 2007-11-16 13:28:13.000000000 -0500 +++ gnome-utils-2.20.0.1/logview/logview.c 2007-11-16 13:28:52.000000000 -0500 @@ -432,6 +432,9 @@ logview_version_selector_changed (GtkCom g_assert (LOGVIEW_IS_WINDOW (logview)); + if (!log) + return; + selected = gtk_combo_box_get_active (version_selector); if (selected == log->current_version) @@ -903,7 +906,7 @@ logview_init (LogviewWindow *logview) logview->version_bar = gtk_hbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (logview->version_bar), 3); logview->version_selector = gtk_combo_box_new_text (); - g_signal_connect (G_OBJECT (logview->version_selector), "changed", + logview->version_changed_id = g_signal_connect (G_OBJECT (logview->version_selector), "changed", G_CALLBACK (logview_version_selector_changed), logview); label = gtk_label_new (_("Version: "));