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); }