[EMAIL PROTECTED] wrote:
> 
> On Tue, May 08, 2001 at 09:58:24PM +0000, Mikhael Goikhman wrote:
> > I don't know when this started.
> >
> >   AddToFunc TestFunction I Wait "unexisting window"
> >   TestFunction
> >
> > Now, click or drag using the mouse anywhere. Woops, mouse is mostly
> > locked. The keyboard works well (did I say something similar before?),
> > so you may quit this mode by pressing Ctrl-Alt-Escape.
> 
> That's not really new.  This was always the case if the function
> used anything else but 'I'.  I don't know what to do about that.
> The pointer must be grabbed during function execution for the
> reasons I explained in the thread with Paul's deiconify problem.

I think something is going wrong. With this function everything seems
fine except when a window closes (ctrl-d in xterm). The application
window goes away but the fvwm frame remains. EscapeFunc causes the frame
to go away. I played around with this a bit and by running the function,
createing two windows, closing them, switching desks and hitting the key
that does EsacpeFunc I got the following core dump:

#0  0x39568 in remove_window_from_stack_ring (t=0xc4600) at stack.c:170
170       t->stack_prev->stack_next = t->stack_next;
(gdb) where
#0  0x39568 in remove_window_from_stack_ring (t=0xc4600) at stack.c:170
#1  0x39e40 in RaiseOrLowerWindow (t=0xc4600, do_lower=0, 
    allow_recursion=1, is_new_window=0) at stack.c:598
#2  0x3a0d8 in RaiseWindow (t=0xc4600) at stack.c:746
#3  0x309ec in warp_to_fvwm_window (eventp=0x86900, t=0xc4600, 
    warp_x=35, x_unit=100, warp_y=50, y_unit=100) at focus.c:489
#4  0x30bb8 in CMD_WarpToWindow (eventp=0x86900, w=0, tmp_win=0xc4600, 
    context=1, action=0xc0e4d "35p 50p", Module=0xefffd6dc)
    at focus.c:532
#5  0x4b55c in execute_function (efa=0xefffd6c8) at functions.c:1091
#6  0x4b6f0 in old_execute_function (
    action=0xc1556 " WarpToWindow 35p 50p", tmp_win=0xc4600, 
    eventp=0x86900, context=1, Module=-1, exec_flags=0 '\000', 
    args=0x85400) at functions.c:1160
#7  0x436d4 in CMD_Current (eventp=0x86900, w=54, tmp_win=0x0, 
    context=8, action=0xc1548 "(!FvwmButtons) WarpToWindow 35p 50p", 
    Module=0xefffd89c) at conditional.c:482
#8  0x4b55c in execute_function (efa=0xefffd888) at functions.c:1091
#9  0x4b6f0 in old_execute_function (
    action=0x9c970 "Current (!FvwmButtons) WarpToWindow 35p 50p", 
    tmp_win=0x0, eventp=0x86900, context=8, Module=-1, 
    exec_flags=0 '\000', args=0x85400) at functions.c:1160
#10 0x4c16c in execute_complex_function (eventp=0x86900, w=0, 
    tmp_win=0x0, context=8, action=0x85400 "", Module=0xefffdafc, 
    desperate=0x9bba0) at functions.c:1654
#11 0x4b5b0 in execute_function (efa=0xefffdae8) at functions.c:1108
#12 0x4b6f0 in old_execute_function (action=0x9f288 "my_cursorwarp", 
    tmp_win=0x0, eventp=0x86900, context=8, Module=-1, 
    exec_flags=0 '\000', args=0x85400) at functions.c:1160
#13 0x4c16c in execute_complex_function (eventp=0x86900, w=0, 
    tmp_win=0x0, context=8, action=0x85400 "", Module=0xefffdd5c, 
    desperate=0x9f0b0) at functions.c:1654
#14 0x4b5b0 in execute_function (efa=0xefffdd48) at functions.c:1108
#15 0x4b6f0 in old_execute_function (
    action=0xefffde68 " my_destroy_event 0xa400003", tmp_win=0x0, 
    eventp=0x86900, context=8, Module=6, exec_flags=0 '\000', 
    args=0x85400) at functions.c:1160
#16 0x37730 in ExecuteModuleCommand (w=0, module=6, 
    text=0xefffde68 " my_destroy_event 0xa400003")
    at module_interface.c:641
#17 0x37618 in HandleModuleInput (w=0, module=6, 
    expect=0x74418 "NOP UNLOCK", queue=0) at module_interface.c:606
#18 0x38a2c in PositiveWrite (module=6, ptr=0x0, size=4194304)
    at module_interface.c:1353
#19 0x37af8 in BroadcastPacket (event_type=6, num_datum=7)
    at module_interface.c:842
#20 0x5aaf8 in destroy_window (tmp_win=0xc4600) at add_window.c:1969
#21 0x57a00 in destroy_scheduled_windows () at update.c:310
#22 0x3f790 in HandleEvents () at events.c:2797
#23 0x608f8 in main (argc=1, argv=0xefffee04) at fvwm.c:742
(gdb) print t->stack_next
$1 = (struct FvwmWindow *) 0x0
(gdb) print t->stack_prev
$2 = (struct FvwmWindow *) 0x0

I use some weird functions driven by FvwmEvent to warp the pointer back
to the focussed window when a window dies which might have something to
do with it, I don't see the wait cursor like I should.

Cheers,
Tim.
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to