On Saturday 13 April 2002 09:22, Simon Hausmann wrote: > I think it is a bad idea to call qApp->quit() from a library class, > because it unconditionally aborts the application, completely > disobeying KApplication's reference counting (which exists for the > very reason of preventing leaving the event loop in case there are > still background jobs like KIO tranfers) . > > What was wrong with closeAllWindows() ? Closing the main window in the case of a systray app should usually leave the app running in the tray. So essentially you'll override closeEvent() to hide the window instead of closing it and everybody's happy... unless you select 'quit' from the tray which now no longer quits and acts like a window close. And that's the problem we have with Kopete. I figured there could be two cases here, either the libs are broken or our app is broken. Since I always thought that 'quit' means 'quit', and not 'close all windows' I wrote this patch. Your remark on background KIO transfers makes sense though, in which case apparently Kopete is borked. I wonder what the solution is in that case, though. The only solution I see is to have an additional invisible main window, so the closing of the first doesn't trigger the quit yet. Ugly as well. Any better idea? Martijn