List Info

Thread: Psi prohibits user logout or system shutdown




Psi prohibits user logout or system shutdown
country flaguser name
Poland
2007-07-09 00:15:49
Welcome,


I've noticed that Psi-0.11 (after recent power events'
support fix) 
prohibits user logout or system shutdown (either for restart
or for 
poweroff) on Windows.

This is caused by invalid processing of WM_QUERYENDSESSION
message - Psi 
  does not set any return value, which defaults to 0,
meaning "dissallow".

Maybe we should test lParam argument of this message (it
tells what 
really is going on - user logout, system shutdown or
application's file 
substitution) and give the user ability to respond.

Anyway, we should return a non-zero value.


Details about WM_QUERYENDSESSION: 
http://msdn2.microsoft.com/en-us/library/aa376890.aspx



Regards,

-- 
Micha³ Jaz³owiecki (michalj)
Psi Forum & Wiki Moderator

_______________________________________________
psi-devel mailing list
psi-devellists.affinix.com
http://lists.affinix.com/listinfo.cgi/psi-devel-affin
ix.com

Re: Psi prohibits user logout or system shutdown
user name
2007-07-09 07:46:39
On Mon, Jul 09, 2007 at 07:15:49AM +0200, Michał
Jazłowiecki wrote:
> Welcome,
> 
> 
> I've noticed that Psi-0.11 (after recent power events'
support fix) 
> prohibits user logout or system shutdown (either for
restart or for 
> poweroff) on Windows.
> 
> This is caused by invalid processing of
WM_QUERYENDSESSION message - Psi 
>   does not set any return value, which defaults to 0,
meaning "dissallow".
> 
> Maybe we should test lParam argument of this message
(it tells what 
> really is going on - user logout, system shutdown or
application's file 
> substitution) and give the user ability to respond.
> 
> Anyway, we should return a non-zero value.
> 

Yes, this is a know Problem but i forgot to add it to
flyspray too.

I think the right fix is to let Qt handle the message as
normal, after
psi did notice it and did it's own processing, so that it
will be 
processed by DefaultWindowProc (or how was that one called)
somewhere
inside Qt.

I'll fix it in darcs today or tomorrow...

 - Martin H.
_______________________________________________
psi-devel mailing list
psi-devellists.affinix.com
http://lists.affinix.com/listinfo.cgi/psi-devel-affin
ix.com
Re: Psi prohibits user logout or system shutdown
country flaguser name
Poland
2007-07-09 15:49:23
textshell wrote:

> Yes, this is a know Problem but i forgot to add it to
flyspray too.



> I think the right fix is to let Qt handle the message
as normal, after
> psi did notice it and did it's own processing, so that
it will be 
> processed by DefaultWindowProc (or how was that one
called) somewhere
> inside Qt.

It just might work. However, what about file transfers in
progress? I 
mean, if user has FT in progress and Psi receives
WM_QUERYENDSESSION, 
then it would be wise to ask user whether to break the FT
and allow 
system for user logout or system shutdown. DefaultWindowProc
would not 
do that.

> I'll fix it in darcs today or tomorrow...

I've just made my own quick-fix. Just a proof of concept.
I'll test it 
tomorrow.

So, my question is: How to get the information whether any
FT is in 
progress?


Regards,

-- 
Michał Jazłowiecki (michalj)
Psi Forum & Wiki Moderator

_______________________________________________
psi-devel mailing list
psi-devellists.affinix.com
http://lists.affinix.com/listinfo.cgi/psi-devel-affin
ix.com
Re: Psi prohibits user logout or system shutdown
user name
2007-07-09 17:07:17
On Mon, Jul 09, 2007 at 10:49:23PM +0200, Michał
Jazłowiecki wrote:
> textshell wrote:
> 
> > Yes, this is a know Problem but i forgot to add it
to flyspray too.
> 
> 
> 
> > I think the right fix is to let Qt handle the
message as normal, after
> > psi did notice it and did it's own processing, so
that it will be 
> > processed by DefaultWindowProc (or how was that
one called) somewhere
> > inside Qt.
> 
> It just might work. However, what about file transfers
in progress? I 
> mean, if user has FT in progress and Psi receives
WM_QUERYENDSESSION, 
> then it would be wise to ask user whether to break the
FT and allow 
> system for user logout or system shutdown.
DefaultWindowProc would not 
> do that.

Yes, but that's something for post 0.11, because that's a
new feature.

> 
> > I'll fix it in darcs today or tomorrow...
> 
> I've just made my own quick-fix. Just a proof of
concept. I'll test it 
> tomorrow.

I think we will just change the return true; to return
false; in 
PsiApplication::winEventFilter for 0.11. Can you test that
it does fix
the problem? it's much nicer to push actually tested patches
to
mainline ;)


> 
> So, my question is: How to get the information whether
any FT is in 
> progress?
> 
> 

i think you can dig that information out somewhere from
filetransdlg.cpp.
I didn't yet had to work with the gui parts of the file
transfer code.


 - Martin H.
_______________________________________________
psi-devel mailing list
psi-devellists.affinix.com
http://lists.affinix.com/listinfo.cgi/psi-devel-affin
ix.com
[1-4]

about | contact  Other archives ( Real Estate discussion Medical topics )