aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xwin/winmultiwindowwindow.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-09-15 16:42:32 +0000
committermarha <marha@users.sourceforge.net>2010-09-15 16:42:32 +0000
commitcc9377f72bba077839e2848641e43e169f9fcd54 (patch)
treeac2f1b46604afd4aff4d327e85a0b4a1e66f4b26 /xorg-server/hw/xwin/winmultiwindowwindow.c
parent2ddb14008968ea365e3d395487cad2bfe154da9d (diff)
downloadvcxsrv-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.c22
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