changeset 154:8630b7cae87b

[/trunk] Changeset 166 by mikael * Try to prevent segfaults when resizing intensively.
author mikael
date Sun, 01 May 2005 05:03:14 +0000
parents ae0844311710
children 8a54d46e889a
files mcabber/src/jabglue.c mcabber/src/screen.c
diffstat 2 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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()