diff mcabber/src/screen.c @ 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 409ff07d9fe2
line wrap: on
line diff
--- 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()