Hi,

Next problem with Agent 2.0 beta. 

The problem is when composing a message (email/usenet) and pressing the
escape key. Expected is a dialog to confirm whether you want to save the
message, not to save it or to cancel. Instead the dialog flashes and
disappears again and nothing happens.

Here is cut from the debug (relay,message,msg,key,hook) trace, leaving
out most uninteresting lines.

| trace:key:X11DRV_KeyEvent KeyPress : keysym=FF1B (Escape), # of chars=1 / 0x1b / ''
| trace:key:EVENT_event_to_vkey e->keycode = 9
| trace:key:X11DRV_KeyEvent keycode 0x9 converted to vkey 0x1b
| trace:key:X11DRV_KeyEvent bScan = 0x01.
| 000b:Call user32.SendInput(00000001,406cf020,0000001c) ret=40d9cf6a
| trace:key:queue_kbd_event  wParam=001b, lParam=00010001, InputKeyState=81
| 000b:Ret  user32.SendInput() retval=00000001 ret=40d9cf6a

key press gets queued.

| 000b:Call user32.GetMessageA(008f4478,00000000,00000000,00000000) ret=005e1c89
| trace:msg:MSG_peek_message got type 7 msg 100 (WM_KEYDOWN) hwnd 0x10064 wp 1b lp 
10001
| trace:hook:HOOK_CallHooks calling hook 0x5fa990 WH_KEYBOARD code 0 wp 1b lp 10001 
module L""
| 000b:Call hook proc 0x5fa990 (id=WH_KEYBOARD,code=0,wp=0000001b,lp=00010001)

Getmessage picks up the keystroke and calls a hook.

|000b:Call user32.MessageBoxA(00010026,41cefa3c "Save changes to message \"No 
Subject\"?",41cefa8c "Agent",00000023) ret=0066e78c

The hook calls up the confirmation dialog.

| trace:key:X11DRV_KeyEvent KeyRelease : keysym=0 (No Name), # of chars=0 / 0x00 / ''
| trace:key:EVENT_event_to_vkey e->keycode = 9
| trace:key:X11DRV_KeyEvent keycode 0x9 converted to vkey 0x1b
| trace:key:X11DRV_KeyEvent bScan = 0x01.
| 000b:Call user32.SendInput(00000001,406ce7bc,0000001c) ret=40d9cf6a
| trace:key:queue_kbd_event  wParam=001b, lParam=c0010001, InputKeyState=1
| 000b:Ret  user32.SendInput() retval=00000001 ret=40d9cf6a

The keyup message is queued.

| trace:msg:MSG_peek_message got type 7 msg 101 (WM_KEYUP) hwnd 0x1006f wp 1b lp 
c0010001
| trace:key:TranslateMessage (WM_KEYUP, 001B, C0010001)
| trace:message:SPY_EnterMessage (0x1006f) L"&Ja"           message [0101] WM_KEYUP 
dispatched  wp=0000001b lp=c0010001
| 000b:Call window proc 0x40711b20 (hwnd=0x1006f,msg=WM_KEYUP,wp=0000001b,lp=c0010001)
| 000b:Ret  window proc 0x40711b20 (hwnd=0x1006f,msg=WM_KEYUP,wp=0000001b,lp=c0010001) 
retval=00000000
| trace:message:SPY_ExitMessage  (0x1006f) L"&Ja"           message [0101] WM_KEYUP 
returned 00000000

and is picked up and processed by the message box without much happening

| trace:msg:MSG_peek_message got type 7 msg 100 (WM_KEYDOWN) hwnd 0x1006f wp 1b lp 
10001

This is the riddle: the next message found is a escape-key down message.

| 000b:Ret  x11drv.DestroyWindow() retval=00000001 ret=4076df8b

 Of course it closes the message box. 

| 000b:Ret  user32.MessageBoxA() retval=00000002 ret=0066e78c

Message box finished

| 000b:Ret  hook proc 0x5fa990 (id=WH_KEYBOARD,code=0,wp=0000001b,lp=00010001) 
retval=00000001

hook returns

| trace:msg:MSG_peek_message dropping msg 100
| trace:msg:MSG_peek_message got type 6 msg 0 (WM_NULL) hwnd 0x10026 wp 0 lp 0
| 000b:Ret  user32.GetMessageA() retval=00000001 ret=005e1c89

and the Getmessage is finished.

Suggestions?

An unedited version of the log above is on
http://www.xs4all.nl/~rklazes/temp/agkey.log.bz2

Rein.
-- 
Rein Klazes
[EMAIL PROTECTED]

Reply via email to