diff options
author | marha <marha@users.sourceforge.net> | 2010-09-15 16:42:32 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-09-15 16:42:32 +0000 |
commit | cc9377f72bba077839e2848641e43e169f9fcd54 (patch) | |
tree | ac2f1b46604afd4aff4d327e85a0b4a1e66f4b26 /xorg-server/hw/xwin/winmultiwindowwindow.c | |
parent | 2ddb14008968ea365e3d395487cad2bfe154da9d (diff) | |
download | vcxsrv-cc9377f72bba077839e2848641e43e169f9fcd54.tar.gz vcxsrv-cc9377f72bba077839e2848641e43e169f9fcd54.tar.bz2 vcxsrv-cc9377f72bba077839e2848641e43e169f9fcd54.zip |
Solved some wgl problems. The game xmoto is now running.
Diffstat (limited to 'xorg-server/hw/xwin/winmultiwindowwindow.c')
-rw-r--r-- | xorg-server/hw/xwin/winmultiwindowwindow.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/xorg-server/hw/xwin/winmultiwindowwindow.c b/xorg-server/hw/xwin/winmultiwindowwindow.c index c318f77ad..81d368b5c 100644 --- a/xorg-server/hw/xwin/winmultiwindowwindow.c +++ b/xorg-server/hw/xwin/winmultiwindowwindow.c @@ -625,9 +625,25 @@ winUpdateWindowsWindow (WindowPtr pWin) }
else if (hWnd != NULL)
{
- /* Destroy the Windows window if its parents are destroyed */
- winDestroyWindowsWindow (pWin);
- assert (pWinPriv->hWnd == NULL);
+ if (pWinPriv->OpenGlWindow)
+ {
+ HWND hParentWnd;
+
+ {
+ winWindowPriv(pWin->parent);
+ ErrorF("Window handle = %x\n",pWinPriv->hWnd);
+ hParentWnd=pWinPriv->hWnd;
+ }
+ SetParent(pWinPriv->hWnd,hParentWnd);
+ SetWindowPos(pWinPriv->hWnd,NULL,0,0,0,0,SWP_NOSIZE|SWP_NOZORDER|SWP_SHOWWINDOW);
+ }
+ else
+ {
+ /* Destroy the Windows window if its parents are destroyed */
+ /* First check if we need to release the DC when it is an opengl window */
+ winDestroyWindowsWindow (pWin);
+ assert (pWinPriv->hWnd == NULL);
+ }
}
#if CYGMULTIWINDOW_DEBUG
|