On Tue, Oct 6, 2009 at 12:10 PM, Roderick Colenbrander <thunderbir...@gmail.com> wrote: > Esstentially what happens is that using the SendMessage in > internal_SetPixelFormat we call 'set_win_format' in window.c. I can't > say why it fails perhaps no parent window is up yet.. > > Roderick > > > On Tue, Oct 6, 2009 at 6:02 PM, a qi <free4mach...@gmail.com> wrote: >> >> Hi,All >> >> I try to run a 3D application named "Unity 3d" with Wine, but failed. >> >> And there is already a bug report about that: >> >> Bug 18061 - Unity Indie Trial Editor window contents not drawn >> http://bugs.winehq.org/show_bug.cgi?id=18061 >> >> >> Now I try to find out the reason. >> >> So, I follow the error messages: >> >> ... >> err:wgl:internal_SetPixelFormat Couldn't set format of the window, returning >> failure >> err:d3d:CreateContext SetPixelFormat failed on HDC=0x1534 for iPixelFormat=3 >> err:d3d:IWineD3DDeviceImpl_CreateSwapChain Failed to create a new context >> ... >> >> >> do >> >> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ >> >> vim dlls/winex11.drv/opengl.c >> >> >> /* This function is the core of X11DRV_SetPixelFormat and >> X11DRV_SetPixelFormatWINE. >> * Both functions are the same except that X11DRV_SetPixelFormatWINE allows >> you to >> * set the pixel format multiple times. */ >> static BOOL internal_SetPixelFormat(X11DRV_PDEVICE *physDev, >> int iPixelFormat, >> const PIXELFORMATDESCRIPTOR *ppfd) { >> WineGLPixelFormat *fmt; >> int value; >> HWND hwnd; >> >> .... >> >> if(!SendMessageW(hwnd, WM_X11DRV_SET_WIN_FORMAT, >> (WPARAM)fmt->fmt_id, 0)) { >> ERR("Couldn't set format of the window, returning failure\n"); >> return FALSE; >> } >> } >> ....... >> >> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ >> >> But i can not find the definition of function "SendMessageW", >> >> >> in wine-1.1.30/dlls , i run " grep -ir --color SendMessageW . >> |grep spec ", just found something like this: >> >> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ >> ./user32/user32.spec:@ stdcall SendMessageW(long long long long) >> ./unicows/unicows.spec:@ stdcall SendMessageW(long long long long) >> ./wtsapi32/wtsapi32.spec:@ stub WTSSendMessageW >> ./shlwapi/shlwapi.spec:136 stdcall -noname SendMessageWrapW(long long long >> long) user32.SendMessageW >> >> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ >> >> And I am not familiar with C programming. >> >> Any ideas? Thanks. >> >> >> >> >> >> >> >> > > >
If you want to browse the source, your best bet is http://source.winehq.org . Just go to identifier search and search for SendMessageW. You don't need to do debug though - Jeff and Roderick outlined the problem pretty well. Mike.