Here's the actual patch for reference. Applying this would close the 
bug.

 -r
diff -ur bluefish-1.0.7/src/bfspell.c bluefish-1.0.7-g1/src/bfspell.c
--- bluefish-1.0.7/src/bfspell.c	2005-11-24 10:18:01.000000000 -0800
+++ bluefish-1.0.7-g1/src/bfspell.c	2007-06-06 22:07:36.000000000 -0700
@@ -82,6 +82,8 @@
 gchar *doc_get_next_word(Tbfspell *bfspell, GtkTextIter *itstart, GtkTextIter *itend) {
 	gboolean havestart=FALSE;
 	gchar *retval;
+
+	if (!bfspell->doc) return NULL;
 	
 	if (bfspell->eo && bfspell->offset ==-1) {
 		gtk_text_buffer_get_iter_at_mark(bfspell->doc->buffer,itstart,bfspell->eo);
@@ -127,7 +129,7 @@
 }
 
 gboolean spell_check_word(Tbfspell *bfspell, gchar * tocheck, GtkTextIter *itstart, GtkTextIter *itend) {
-	if (tocheck && !isdigit(tocheck[0])) {
+	if (tocheck && !isdigit(tocheck[0]) && bfspell->spell_checker) {
 		int correct = aspell_speller_check(bfspell->spell_checker, tocheck, -1);
 		DEBUG_MSG("word '%s' has correct=%d\n",tocheck,correct);
 		if (!correct) {
@@ -175,9 +177,11 @@
 	gtk_combo_set_popdown_strings(GTK_COMBO(bfspell->suggestions), poplist);
 	g_list_free(poplist);
 	bfspell->offset = 0;
-	aspell_speller_save_all_word_lists(bfspell->spell_checker);
-	delete_aspell_speller(bfspell->spell_checker);
-	bfspell->spell_checker = NULL;
+	if (bfspell->spell_checker) {
+		aspell_speller_save_all_word_lists(bfspell->spell_checker);
+		delete_aspell_speller(bfspell->spell_checker);
+		bfspell->spell_checker = NULL;
+	}
 	spell_gui_set_button_status(bfspell, FALSE);
 }
 

Reply via email to