[/trunk] Changeset 166 by mikael
* Try to prevent segfaults when resizing intensively.
--- a/mcabber/src/jabglue.c Sun May 01 04:42:07 2005 +0000
+++ b/mcabber/src/jabglue.c Sun May 01 05:03:14 2005 +0000
@@ -97,7 +97,7 @@
char *jidtodisp(const char *jid)
{
char *ptr;
- char *alias = strdup(jid);
+ char *alias = g_strdup(jid);
if ((ptr = strchr(alias, '/')) != NULL) {
*ptr = 0;
}
--- a/mcabber/src/screen.c Sun May 01 04:42:07 2005 +0000
+++ b/mcabber/src/screen.c Sun May 01 05:03:14 2005 +0000
@@ -197,6 +197,10 @@
cols = maxX - ROSTER_WIDTH;
tmp->win = newwin(lines, cols, y, x);
+ while (!tmp->win) {
+ usleep(250);
+ tmp->win = newwin(lines, cols, y, x);
+ }
tmp->panel = new_panel(tmp->win);
tmp->name = (char *) calloc(1, 96);
strncpy(tmp->name, title, 96);
@@ -553,8 +557,13 @@
}
// Refresh current buddy window
- if (chatmode)
+ if (chatmode) {
+ usleep(100);
scr_ShowBuddyWindow();
+ }
+ // NCurses is very bad wrt memory (can lead to segfaults) so let's slow
+ // things down...
+ usleep(200);
}
// scr_DrawRoster()