http://bugs.winehq.org/show_bug.cgi?id=5346
Summary: Library initialisation crash with USER and X11DRV Product: Wine Version: CVS Platform: Other OS/Version: Linux Status: NEW Keywords: download, source Severity: normal Priority: P2 Component: wine-x11driver AssignedTo: wine-bugs@winehq.org ReportedBy: hallo@michael-kaufmann.ch
This simple program crashes Wine:
#include "windows.h"
int main(int argc, char * argv[]) { static const WCHAR szDisplayW[] = { 'D','I','S','P','L','A','Y','\0' }; HDC dc = CreateDCW(szDisplayW, NULL, NULL, NULL); DeleteDC(dc); return 0; }
This happens:
- CreateDCW wants to load X11DRV - USER attaches to the process and registers its builtin window classes. It also loads a cursor for a window class - LoadCursor calls CreateDCW again - This time Wine thinks that X11DRV is already loaded - CreateDCW calls X11DRV_XRender_Init() which uses the variable gdi_display. But this variable is uninitialized because X11DRV's DllMain has not been called.
I hope that somebody can help.