winex11.drv: implement drag and drop from X to OLE (try 3)

Alexandre Julliard julliard at winehq.org
Mon Aug 2 09:08:50 CDT 2010


Damjan Jovanovic <damjan.jov at gmail.com> writes:

> @@ -300,6 +499,66 @@ static void X11DRV_XDND_ResolveProperty(Display *display, Window xwin, Time tm,
>          wine_tsx11_unlock();
>      }
>  
> +    /* We get the list of formats in descending order of preference, yet the linked
> +     * list is a stack so the order is inverted. Reverse the linked list here so
> +     * that we get the right order.
> +     */
> +    current = XDNDData;

You should first convert it to a standard Wine list, then you can use it
in either order.

> +        /* For some strange reason, load-time linking SHELL32.DLL to WINEX11.DRV
> +         * causes wine to segfault on startup. So rather use run-time linking.
> +         */
> +        shell32 = GetModuleHandleA("SHELL32.DLL");
> +        if (shell32 == NULL)
> +            shell32 = LoadLibraryA("SHELL32.DLL");

A delayed import should work fine.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list