about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Src/Modules/curses.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index ede9650e2..e34cc6136 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2007-10-19  Clint Adams  <clint@zsh.org>
 
+	* 23997: Src/Modules/curses.c: don't delete color pair hash
+	on module unload unless it's been previously initialized.
+
 	* 23994: Completion/Unix/Command/_git: tweaks for 23993.
 
 	* Mikael Magnusson: 23993: Completion/Unix/Command/_git: improved
diff --git a/Src/Modules/curses.c b/Src/Modules/curses.c
index ecd235d9c..6b2d0a4d4 100644
--- a/Src/Modules/curses.c
+++ b/Src/Modules/curses.c
@@ -58,7 +58,7 @@ static WINDOW *win_zero;
 static struct ttyinfo saved_tty_state;
 static struct ttyinfo curses_tty_state;
 static LinkList zcurses_windows;
-static HashTable zcurses_colorpairs;
+static HashTable zcurses_colorpairs = NULL;
 
 #define ZCURSES_ERANGE 1
 #define ZCURSES_EDEFINED 2
@@ -599,7 +599,8 @@ int
 cleanup_(Module m)
 {
     freelinklist(zcurses_windows, (FreeFunc) zcurses_free_window);
-    deletehashtable(zcurses_colorpairs);
+    if (zcurses_colorpairs)
+	deletehashtable(zcurses_colorpairs);
     return setfeatureenables(m, &module_features, NULL);
 }