109e6e6
Index: src/keybinder.c
109e6e6
===================================================================
109e6e6
--- src/keybinder.c	(Revision 491)
109e6e6
+++ src/keybinder.c	(Revision 492)
109e6e6
@@ -275,26 +275,26 @@
109e6e6
 	}
109e6e6
 }
109e6e6
 
109e6e6
-void
109e6e6
-keybinder_unbind (const char           *keystring, 
109e6e6
-			 BindkeyHandler  handler)
109e6e6
+void keybinder_unbind (const char *keystring, BindkeyHandler  handler)
109e6e6
 {
109e6e6
 	GSList *iter;
109e6e6
-
109e6e6
+  /*g_fprintf(stderr,"%s: key='%s'\n",__func__,keystring); */
109e6e6
+	if(NULL == keystring)		return;
109e6e6
 	for (iter = bindings; iter != NULL; iter = iter->next) {
109e6e6
 		Binding *binding = (Binding *) iter->data;
109e6e6
-
109e6e6
-		if (strcmp (keystring, binding->keystring) != 0 ||
109e6e6
-		    handler != binding->handler) 
109e6e6
-			continue;
109e6e6
-
109e6e6
-		do_ungrab_key (binding);
109e6e6
-
109e6e6
-		bindings = g_slist_remove (bindings, binding);
109e6e6
-
109e6e6
-		g_free (binding->keystring);
109e6e6
-		g_free (binding);
109e6e6
-		break;
109e6e6
+		if(NULL !=binding){
109e6e6
+			if (strcmp (keystring, binding->keystring) != 0 ||
109e6e6
+			    handler != binding->handler) 
109e6e6
+				continue;
109e6e6
+	
109e6e6
+			do_ungrab_key (binding);
109e6e6
+	
109e6e6
+			bindings = g_slist_remove (bindings, binding);
109e6e6
+	
109e6e6
+			g_free (binding->keystring);
109e6e6
+			g_free (binding);
109e6e6
+			break;	
109e6e6
+		}
109e6e6
 	}
109e6e6
 }
109e6e6
 
109e6e6
Index: ChangeLog
109e6e6
===================================================================
109e6e6
--- ChangeLog	(Revision 491)
109e6e6
+++ ChangeLog	(Revision 492)
109e6e6
@@ -1,5 +1,6 @@
109e6e6
 V1.1.8 Wednsday, October 16, 2013
109e6e6
  +Fixed bug 107, segfault when action key missing in parcelliterc.
109e6e6
+ +Fixed bug 109, segfault when action key missing and history key changed.
109e6e6
  
109e6e6
 V1.1.7 Tuesday, October 15, 2013
109e6e6
  +Added remote i386 build and upload to sourceforge.