[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: remove DnD image before drop
From: |
Enrico Sersale |
Subject: |
Re: remove DnD image before drop |
Date: |
Wed, 23 Jan 2002 14:18:08 +0200 (EET) |
On 22 Jan 2002, Willem Rein Oudshoorn wrote:
>
> The drag image should be removed from the screen after
> the `prepareForDragOperation' and before the
> `performDragOperation' calls to the destination.
> However it is not a trivial fix to get this right.
>
> In the meantime I propose to remove the drag image
> before the `prepareForDragOperation' call.
>
> The alternative is to remove it after the
> `concludeDragOperation'. This is how it is done
> now, and this behaviour was introduced together
> with the slideback functionality.
>
> The disadvantage of the current implementation
> is that in GWorkspace the peformDragOperation
> creates a NSAlertPanel and while this alert panel
> is visible, the drag image is still on the screen.
>
> The following patch removes the drag image before
> sending the final DnD events.
Now I'm getting NSDragOperationCopy *without* Alt_R :-(((
And the crash confirming from keyboard on the alert panel remains...
#0 0x403d8c20 in _NSRemoveHandler (handler=0xbfffe630) at
NSException.m:272
#1 0x40412a1f in -[NSRunLoop acceptInputForMode:beforeDate:]
(self=0x81b9620,
_cmd=0x404c0880, mode=0x819bb40, limit_date=0x85f7550) at
NSRunLoop.m:1424
#2 0x40412cbb in -[NSRunLoop runMode:beforeDate:] (self=0x81b9620,
_cmd=0x4029f670, mode=0x819bb40, date=0x81baa08) at NSRunLoop.m:1487
#3 0x40126299 in -[NSGraphicsContext(Ops)
DPSGetEventMatchingMask:beforeDate:inMode:dequeue:] (self=0x824df80,
_cmd=0x407b6f50, mask=4294967295,
limit=0x81baa08, mode=0x819bb40, flag=1 '\001') at
NSGraphicsContext.m:2364
#4 0x407753a0 in -[XGContext(X11Ops)
DPSGetEventMatchingMask:beforeDate:inMode:dequeue:] (self=0x824df80,
_cmd=0x4027ed80, mask=4294967295, limit=0x81baa08,
mode=0x819bb40, flag=1 '\001') at SharedX/XGContextEvent.m:1729
#5 0x400c12d6 in DPSGetEvent (ctxt=0x824df80, mask=4294967295,
limit=0x81baa08, mode=0x819bb40) at
../Headers/AppKit/DPSOperators.h:2563
#6 0x400bc590 in -[NSApplication
nextEventMatchingMask:untilDate:inMode:dequeue:] (self=0x8255ab8,
_cmd=0x4027f460, mask=4294967295, expiration=0x81baa08,
mode=0x819bb40, flag=1 '\001') at NSApplication.m:1371
#7 0x400badec in -[NSApplication run] (self=0x8255ab8, _cmd=0x80f0498)
at NSApplication.m:905
#8 0x804c435 in main (argc=1, argv=0xbfffeb24, env=0xbfffeb2c) at
main.m:42
#9 0x40583091 in __libc_start_main (main=0x804c2f0 <main>, argc=1,
ubp_av=0xbfffeb24, init=0x804c020 <_init>, fini=0x80af2d0 <_fini>,
rtld_fini=0x4000e374 <_dl_fini>, stack_end=0xbfffeb1c)
at ../sysdeps/generic/libc-start.c:129