--- /dev/null
+*** window.c.orig Tue Nov 7 16:14:33 2000
+--- window.c Tue Nov 7 16:14:43 2000
+***************
+*** 1818,1824 ****
+ tmp->current_channel = m_strdup(channel);
+
+ /* Remove "waiting_channel" if we're waiting for this channel. ;-) */
+! if (tmp->waiting_channel && !my_stricmp(channel, tmp->waiting_channel))
+ new_free(&tmp->waiting_channel);
+ tmp->update |= UPDATE_STATUS;
+ if (tmp->current_channel)
+--- 1818,1825 ----
+ tmp->current_channel = m_strdup(channel);
+
+ /* Remove "waiting_channel" if we're waiting for this channel. ;-) */
+! if (tmp->waiting_channel && channel &&
+! !my_stricmp(channel, tmp->waiting_channel))
+ new_free(&tmp->waiting_channel);
+ tmp->update |= UPDATE_STATUS;
+ if (tmp->current_channel)
--- /dev/null
+*** screen.c.orig Wed Nov 8 10:10:15 2000
+--- screen.c Wed Nov 8 10:10:47 2000
+***************
+*** 383,391 ****
+ }
+ term_flush();
+
+- if (must_free)
+- new_free(&str);
+-
+ /*
+ * This used to be in rite(), but since rite() is a general
+ * purpose function, and this stuff really is only intended
+--- 383,388 ----
+***************
+*** 434,439 ****
+--- 431,439 ----
+ update_all_status();
+ }
+ }
++
++ if (must_free)
++ new_free(&str);
+
+ cursor_in_display(window);
+ }