rem: while (KTopLevelWidget::memberList->first() != NULL)
add: while (KTMainWindow::memberList->first() != NULL)
context: static void signalHandler(int sigId){  QWidget* win;  fprintf(stderr, "*** KMail got signal %d\n", sigId);  // try to cleanup all windows  while (KTopLevelWidget::memberList->first() != NULL)  {    win = KTopLevelWidget::memberList->take();    if (win->inherits("KMComposeWin")) ((KMComposeWin*)win)->deadLetter();    delete win;  }  // If KMail crashes again below this line we consider the data lost :-|  // Otherwise KMail will end in an infinite loop.  setSignalHandler(SIG_DFL);  cleanup();  exit(1);}