http://bugs.winehq.org/show_bug.cgi?id=6088 ------- Additional Comments From focht(a)gmx.net 2007-01-04 17:35 ------- Hello, the executable is packed/protected with Petite 2.x -> must be unpacked/deprotected before doing anything useful with it :) With that humbug gone it boils down to following.. --- snip crash --- 0009:trace:ole:OleInitialize ((nil)) 0009:trace:ole:CoInitializeEx ((nil), 2) 0009:trace:ole:OleInitialize () - Initializing the OLE libraries 0009:trace:ole:OLEClipbrd_Initialize () 0009:trace:ole:RegisterDragDrop (0x10058,0xadf1f4) 0009:trace:ole:OleUninitialize () 0009:trace:ole:OleUninitialize () - Freeing the last reference count 0009:trace:ole:OLEClipbrd_UnInitialize () 0009:trace:ole:OLEClipbrd_Destroy () 0009:trace:ole:OLEClipbrd_Destroy () - Destroying clipboard data object. 0009:trace:seh:raise_exception code=c0000005 flags=0 addr=0x10 0009:trace:seh:raise_exception info[0]=00000000 0009:trace:seh:raise_exception info[1]=00000010 0009:trace:seh:raise_exception eax=00adf1f4 ebx=6094546c ecx=6094e54c edx=00a9ca90 esi=001845e0 edi=00acdcec 0009:trace:seh:raise_exception ebp=0034f6f0 esp=0034f6d4 cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00210206 --- snip crash ---
From what i've seen it crashes in Drag and Drop uninit in OleUninitialize() shutdown sequence, e.g. OLEDD_UnInitialize()
--- snip dlls/ole32/ole2.c --- static void OLEDD_UnInitialize(void) { /* * Simply empty the list. */ while (!list_empty(&targetListHead)) { DropTargetNode* curNode; curNode = LIST_ENTRY(list_head(&targetListHead), DropTargetNode, entry); OLEDD_FreeDropTarget(curNode); <--- *boom* } } --- snip dlls/ole32/ole2.c --- OLEDD_FreeDropTarget -> IDropTarget_Release(dropTargetInfo->dropTarget); I put in a trace directly before: --- snip --- 0009:trace:ole:OLEDD_FreeDropTarget (0x184608, 0xadf1f4) --- snip --- Interface pointer matches with the one from RegisterDragDrop(). The only other internal function call which explicitly decrements refcount is RevokeDragDrop() which isnt called. My guess: either the client itself or some other drop target code in wine does Release() somewhere -> vtable ptr deref on shutdown -> crash. For verification i incremented the refcount twice in RegisterDragDrop() (2x IDropTarget_AddRef(pDropTarget) ). Seems it helped, doesnt crash in ole shutdown code. Regards -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.