d3d8: CreateDevice should use the root of the current window.
diff --git a/dlls/d3d8/directx.c b/dlls/d3d8/directx.c index a324855..1c5ce59 100644 --- a/dlls/d3d8/directx.c +++ b/dlls/d3d8/directx.c
@@ -713,8 +713,12 @@ if (!whichHWND) { whichHWND = hFocusWindow; } + whichHWND = GetAncestor(whichHWND, GA_ROOT); + if ( !( object->win = (Window)GetPropA(whichHWND, "__wine_x11_whole_window") ) ) { + ERR("Can't get drawable (window), HWND:%p doesn't have the property __wine_x11_whole_window\n", whichHWND); + return D3DERR_NOTAVAILABLE; + } object->win_handle = whichHWND; - object->win = (Window)GetPropA( whichHWND, "__wine_x11_whole_window" ); hDc = GetDC(whichHWND); object->display = get_display(hDc);