[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: [PATCH] ksystemtray.cpp
From:       Martijn Klingens <klingens () kde ! org>
Date:       2002-04-13 11:09:01
[Download RAW message or body]

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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic