summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorTingPing <tingping@tingping.se>2014-04-18 20:40:16 -0400
committerTingPing <tingping@tingping.se>2014-04-18 20:40:33 -0400
commit5f297950a2ec399bfa9bc2163133e8fd948f421c (patch)
tree59ce3114b76b47ce1d905f9a61abba4fc4aabefc
parentccf49aa48da2107a5e23bdcaf9135a1538c78833 (diff)
Fix issues removing autojoin channels
- Makes remove case insensitive
- Fixes crashing when channel not found
-rw-r--r--src/common/servlist.c2
-rw-r--r--src/fe-gtk/servlistgui.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/src/common/servlist.c b/src/common/servlist.c
index 85dfc896..ec3889ff 100644
--- a/src/common/servlist.c
+++ b/src/common/servlist.c
@@ -842,7 +842,7 @@ servlist_favchan_find (ircnet *net, char *channel, int *pos)
 	while (list)
 	{
 		favchan = list->data;
-		if (strcmp (favchan->name, channel) == 0)
+		if (g_ascii_strcasecmp (favchan->name, channel) == 0)
 		{
 			if (pos)
 			{
diff --git a/src/fe-gtk/servlistgui.c b/src/fe-gtk/servlistgui.c
index 389607d0..c72c5af3 100644
--- a/src/fe-gtk/servlistgui.c
+++ b/src/fe-gtk/servlistgui.c
@@ -1088,8 +1088,11 @@ servlist_autojoinedit (ircnet *net, char *channel, gboolean add)
 	else
 	{
 		fav = servlist_favchan_find (net, channel, NULL);
-		servlist_favchan_remove (net, fav);
-		servlist_save ();
+		if (fav)
+		{
+			servlist_favchan_remove (net, fav);
+			servlist_save ();
+		}
 	}
 }