diff --git a/build/dxwnd.dll b/build/dxwnd.dll index 9e98ca8..e70f813 100644 --- a/build/dxwnd.dll +++ b/build/dxwnd.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e0833b7f9d40095e84bf9c7fa9697bed48c0967e153970a8ba9c9aa146ecc554 +oid sha256:870503d6ed66355803bffaf4e2a6faeaae7aef2ddab2b21a5ebe07aeb276eceb size 587776 diff --git a/build/dxwnd.exe b/build/dxwnd.exe index ff91f44..6cf634c 100644 --- a/build/dxwnd.exe +++ b/build/dxwnd.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99558d172cbd24a33a7c5be255b7dc89f52ff58addce4b330a463d47878a1b70 +oid sha256:b3af6279bc2e830fe03fb38ba567676000fc17486c763e711fee3539605cf3c0 size 544768 diff --git a/build/exports/Divine Divinity (GOG).dxw b/build/exports/Divine Divinity (GOG).dxw new file mode 100644 index 0000000..e5d9c81 --- /dev/null +++ b/build/exports/Divine Divinity (GOG).dxw @@ -0,0 +1,32 @@ +[target] +title0=Divine Divinity (GOG) +path0=D:\Games\Divine Divinity (GOG)\div.exe +launchpath0= +module0= +opengllib0= +notes0= +ver0=1 +coord0=0 +flag0=683687970 +flagg0=2013265920 +flagh0=20 +flagi0=675282948 +flagj0=4224 +tflag0=0 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +winver0=0 +maxres0=-1 +registry0= +flagk0=65536 +swapeffect0=0 diff --git a/build/exports/Divine Divinity.dxw b/build/exports/Divine Divinity.dxw new file mode 100644 index 0000000..18e5e51 --- /dev/null +++ b/build/exports/Divine Divinity.dxw @@ -0,0 +1,32 @@ +[target] +title0=Divine Divinity +path0=D:\Games\Divine Divinity\Run\div.exe +launchpath0= +module0= +opengllib0= +notes0= +ver0=0 +coord0=0 +flag0=136331298 +flagg0=1761607680 +flagh0=20 +flagi0=138412036 +flagj0=4224 +tflag0=0 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +winver0=0 +maxres0=-1 +registry0= +flagk0=65536 +swapeffect0=0 diff --git a/build/exports/Doom95.dxw b/build/exports/Doom95.dxw new file mode 100644 index 0000000..255e64e --- /dev/null +++ b/build/exports/Doom95.dxw @@ -0,0 +1,32 @@ +[target] +title0=Doom95 +path0=D:\Games\Doom95\DOOM95.EXE +launchpath0= +module0= +opengllib0= +notes0= +registry0= +ver0=0 +coord0=0 +flag0=136314914 +flagg0=1207959552 +flagh0=20 +flagi0=138412036 +flagj0=12416 +flagk0=262144 +tflag0=0 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +winver0=0 +maxres0=-1 +swapeffect0=0 diff --git a/build/exports/Galapagos.dxw b/build/exports/Galapagos.dxw index 481edbe..7974bad 100644 --- a/build/exports/Galapagos.dxw +++ b/build/exports/Galapagos.dxw @@ -7,11 +7,11 @@ opengllib0= notes0= ver0=7 coord0=0 -flag0=681590816 +flag0=681624742 flagg0=1207959552 -flagh0=16 +flagh0=20 flagi0=138412036 -flagj0=142606464 +flagj0=134217856 tflag0=0 initx0=0 inity0=0 @@ -27,5 +27,6 @@ maxfps0=0 initts0=0 winver0=0 maxres0=-1 -flagk0=0 +flagk0=65536 swapeffect0=0 +registry0= diff --git a/build/exports/Hercules.dxw b/build/exports/Hercules.dxw index a818522..2972e05 100644 --- a/build/exports/Hercules.dxw +++ b/build/exports/Hercules.dxw @@ -12,7 +12,7 @@ flagg0=1744830464 flagh0=1044 flagi0=1212153862 flagj0=4224 -tflag0=6659 +tflag0=0 initx0=0 inity0=0 minx0=0 @@ -27,3 +27,6 @@ maxfps0=0 initts0=0 winver0=0 maxres0=-1 +registry0=\n[HKEY_LOCAL_MACHINE\SOFTWARE]\n[HKEY_LOCAL_MACHINE\SOFTWARE\Disney Interactive]\n[HKEY_LOCAL_MACHINE\SOFTWARE\Disney Interactive\Hercules]\n[HKEY_LOCAL_MACHINE\SOFTWARE\Disney Interactive\Hercules\1.00]\n"DATA"="DATA\\"\n"User Path"=".\\"\n"BitVersion"="32 Bit"\n"PATH"=".\\"\n"EntryPoint"=".\\Hercules.exe"\n"Help"=".\\hercules.hlp"\n"Uninstall"="C:\\WINDOWS\\uninst.exe -fC:\\Hercules\\DeIsL1.isu"\n"Config"=hex:05,ca,ab,07,01,01,01,00,03,01,01,00,01,01,01,00,ff,3f,00,00,01,00,ff,ff,03,00,00,00,26,00,28,00,25,00,27,00,58,00,5a,00,43,00,44,00,53,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +flagk0=0 +swapeffect0=0 diff --git a/build/exports/Microsoft Pandora's Box.dxw b/build/exports/Microsoft Pandora's Box.dxw new file mode 100644 index 0000000..4509356 --- /dev/null +++ b/build/exports/Microsoft Pandora's Box.dxw @@ -0,0 +1,32 @@ +[target] +title0=Microsoft Pandora's Box +path0=D:\Games\Microsoft Pandora's Box\pandora.exe +launchpath0= +module0= +opengllib0= +notes0= +registry0=; Pandora's Box\n\n[HKEY_CURRENT_USER\Software]\n[HKEY_CURRENT_USER\Software\Microsoft]\n[HKEY_CURRENT_USER\Software\Microsoft\Microsoft Games\Pandora's Box]\n[HKEY_CURRENT_USER\Software\Microsoft\Microsoft Games\Pandora's Box\1.0]\n"Music"=hex:31\n"PlayerName"="Gho"\n"Sound"=hex:31\n"Timer"=hex:31\n +ver0=0 +coord0=0 +flag0=673185827 +flagg0=1209008128 +flagh0=20 +flagi0=138420228 +flagj0=128 +flagk0=0 +tflag0=0 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +winver0=0 +maxres0=-1 +swapeffect0=0 diff --git a/build/exports/Quake (win).dxw b/build/exports/Quake (win).dxw index 63d391e..ab89b30 100644 --- a/build/exports/Quake (win).dxw +++ b/build/exports/Quake (win).dxw @@ -6,11 +6,11 @@ module0= opengllib0= ver0=0 coord0=0 -flag0=134234656 +flag0=134234146 flagg0=1207959552 flagh0=20 flagi0=138412036 -flagj0=1 +flagj0=129 tflag0=0 initx0=0 inity0=0 @@ -26,3 +26,7 @@ maxfps0=0 initts0=0 winver0=0 maxres0=-1 +notes0= +registry0= +flagk0=65536 +swapeffect0=0 diff --git a/build/exports/Queen of Heart 98.dxw b/build/exports/Queen of Heart 98.dxw index 6288126..afdf7d2 100644 --- a/build/exports/Queen of Heart 98.dxw +++ b/build/exports/Queen of Heart 98.dxw @@ -6,7 +6,7 @@ module0= opengllib0= ver0=0 coord0=0 -flag0=134218272 +flag0=134217762 flagg0=1207959552 flagh0=20 flagi0=138412036 @@ -26,3 +26,7 @@ maxfps0=0 initts0=0 winver0=0 maxres0=-1 +notes0= +registry0= +flagk0=0 +swapeffect0=0 diff --git a/build/exports/Railroad Tycoon II.dxw b/build/exports/Railroad Tycoon II.dxw index 6269c50..15978f6 100644 --- a/build/exports/Railroad Tycoon II.dxw +++ b/build/exports/Railroad Tycoon II.dxw @@ -6,7 +6,7 @@ opengllib0= ver0=0 coord0=0 flag0=134219810 -flagg0=135266304 +flagg0=1209008128 flagh0=16 flagi0=4194304 tflag0=0 @@ -25,3 +25,8 @@ initts0=0 launchpath0= winver0=0 maxres0=0 +notes0= +registry0= +flagj0=128 +flagk0=0 +swapeffect0=0 diff --git a/build/exports/Rayman 2 (GOG).dxw b/build/exports/Rayman 2 (GOG).dxw index 98deccf..660378c 100644 --- a/build/exports/Rayman 2 (GOG).dxw +++ b/build/exports/Rayman 2 (GOG).dxw @@ -5,10 +5,10 @@ module0= opengllib0= ver0=1 coord0=0 -flag0=402653217 +flag0=402653219 flagg0=1208025104 flagh0=20 -flagi0=0 +flagi0=4194304 tflag0=0 initx0=0 inity0=0 @@ -22,3 +22,11 @@ sizx0=800 sizy0=600 maxfps0=0 initts0=0 +launchpath0= +notes0= +registry0= +flagj0=128 +flagk0=65536 +winver0=0 +maxres0=0 +swapeffect0=0 diff --git a/build/exports/Rayman 2 Demo.dxw b/build/exports/Rayman 2 Demo.dxw index eb2b35a..f8f7660 100644 --- a/build/exports/Rayman 2 Demo.dxw +++ b/build/exports/Rayman 2 Demo.dxw @@ -5,10 +5,10 @@ module0= opengllib0= ver0=1 coord0=0 -flag0=402653217 +flag0=402653219 flagg0=1208025088 flagh0=20 -flagi0=0 +flagi0=4194304 tflag0=0 initx0=0 inity0=0 @@ -22,3 +22,11 @@ sizx0=800 sizy0=600 maxfps0=0 initts0=0 +launchpath0= +notes0= +registry0= +flagj0=128 +flagk0=65536 +winver0=0 +maxres0=0 +swapeffect0=0 diff --git a/build/exports/RollerCoaster Tycoon 2 demo.dxw b/build/exports/RollerCoaster Tycoon 2 demo.dxw new file mode 100644 index 0000000..1014706 --- /dev/null +++ b/build/exports/RollerCoaster Tycoon 2 demo.dxw @@ -0,0 +1,32 @@ +[target] +title0=RollerCoaster Tycoon 2 demo +path0=D:\Games\RollerCoaster Tycoon 2 demo\rct2.exe +launchpath0= +module0= +opengllib0= +notes0= +registry0= +ver0=1 +coord0=0 +flag0=671088674 +flagg0=1207959552 +flagh0=20 +flagi0=138412036 +flagj0=128 +flagk0=0 +tflag0=0 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +winver0=0 +maxres0=-1 +swapeffect0=0 diff --git a/build/exports/Star Trek Generations.dxw b/build/exports/Star Trek Generations.dxw index b5be506..6f61fae 100644 --- a/build/exports/Star Trek Generations.dxw +++ b/build/exports/Star Trek Generations.dxw @@ -5,13 +5,13 @@ launchpath0= module0= opengllib0= notes0= -registry0=[HKEY_LOCAL_MACHINE\SOFTWARE\MicroProse\Star Trek Generations]\n[HKEY_LOCAL_MACHINE\SOFTWARE\MicroProse\Star Trek Generations\1.0]\n"Path"="D:\\GAMES\\STGEN"\n"CDPath"="F:\\GENS"\n"InstallSet"="MED"\n +registry0=[HKEY_LOCAL_MACHINE\SOFTWARE\MicroProse]\n[HKEY_LOCAL_MACHINE\SOFTWARE\MicroProse\Star Trek Generations]\n[HKEY_LOCAL_MACHINE\SOFTWARE\MicroProse\Star Trek Generations\1.0]\n"Path"="D:\\GAMES\\STGEN"\n"CDPath"="F:\\GENS"\n"InstallSet"="MED"\n ver0=1 coord0=0 flag0=136314978 flagg0=1744830464 -flagh0=20 -flagi0=138412036 +flagh0=1044 +flagi0=1212153860 flagj0=4224 flagk0=0 tflag0=0 diff --git a/build/exports/Star Trek Hidden Evil.dxw b/build/exports/Star Trek Hidden Evil.dxw new file mode 100644 index 0000000..c6cd191 --- /dev/null +++ b/build/exports/Star Trek Hidden Evil.dxw @@ -0,0 +1,32 @@ +[target] +title0=Star Trek Hidden Evil +path0=D:\Games\Star Trek Hidden Evil\Bin\HiddenEvil.cracked.exe +launchpath0= +module0=Render.dll +opengllib0= +notes0= +registry0= +ver0=7 +coord0=0 +flag0=136314914 +flagg0=1207959552 +flagh0=16 +flagi0=138412036 +flagj0=4224 +flagk0=65540 +tflag0=0 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +winver0=0 +maxres0=0 +swapeffect0=0 diff --git a/build/exports/Street Fighters Zero.dxw b/build/exports/Street Fighters Zero.dxw index d9726dc..8f97c7d 100644 --- a/build/exports/Street Fighters Zero.dxw +++ b/build/exports/Street Fighters Zero.dxw @@ -27,5 +27,6 @@ maxfps0=0 initts0=0 winver0=0 maxres0=-1 -flagk0=0 +flagk0=65536 swapeffect0=0 +registry0=\n[HKEY_LOCAL_MACHINE\SOFTWARE\CAPCOM]\n[HKEY_LOCAL_MACHINE\SOFTWARE\CAPCOM\STREETFIGHTERZERO]\n""="..\\bin"\n\n[HKEY_LOCAL_MACHINE\SOFTWARE\CAPCOM\STREETFIGHTERZERO\1.0]\n diff --git a/build/exports/The Thing.dxw b/build/exports/The Thing.dxw new file mode 100644 index 0000000..ca1f28d --- /dev/null +++ b/build/exports/The Thing.dxw @@ -0,0 +1,32 @@ +[target] +title0=The Thing +path0=D:\Games\The Thing\bin\thething.exe +launchpath0= +module0= +opengllib0= +notes0= +registry0= +ver0=0 +coord0=0 +flag0=136314914 +flagg0=1207959552 +flagh0=65556 +flagi0=138412036 +flagj0=4224 +flagk0=1310720 +tflag0=0 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=1200 +sizy0=900 +maxfps0=0 +initts0=0 +winver0=0 +maxres0=-1 +swapeffect0=0 diff --git a/build/exports/Total Annihilation Kingdoms.dxw b/build/exports/Total Annihilation Kingdoms.dxw index 371de9f..ec4d299 100644 --- a/build/exports/Total Annihilation Kingdoms.dxw +++ b/build/exports/Total Annihilation Kingdoms.dxw @@ -29,3 +29,4 @@ notes0= flagj0=128 flagk0=0 swapeffect0=0 +registry0=[HKEY_LOCAL_MACHINE\Software]\n[HKEY_LOCAL_MACHINE\Software\Cavedog Entertainment]\n[HKEY_LOCAL_MACHINE\Software\Cavedog Entertainment\Total Annihilation: Kingdoms]\n[HKEY_LOCAL_MACHINE\Software\Cavedog Entertainment\Total Annihilation: Kingdoms\1.00.000]\n\n[HKEY_CURRENT_USER\Software\Cavedog Entertainment]\n[HKEY_CURRENT_USER\Software\Cavedog Entertainment\Kingdoms]\n"InstallDirectX"=dword:00000001\n\n[HKEY_CURRENT_USER\Software\Cavedog Entertainment\Kingdoms\InterfaceOptions]\n"Language"="ENGLISH"\n\n[HKEY_CURRENT_USER\Software\Cavedog Entertainment\Cartographer]\n diff --git a/build/exports/dxwnd.ini b/build/exports/dxwnd.ini deleted file mode 100644 index a6b5445..0000000 --- a/build/exports/dxwnd.ini +++ /dev/null @@ -1,5 +0,0 @@ -[window] -posx=1280 -posy=341 -sizx=320 -sizy=200 diff --git a/build/exports/dxwnd.reg b/build/exports/dxwnd.reg deleted file mode 100644 index 6439a60..0000000 --- a/build/exports/dxwnd.reg +++ /dev/null @@ -1,5 +0,0 @@ -[HKEY_LOCAL_MACHINE\SOFTWARE\MicroProse\Star Trek Generations] -[HKEY_LOCAL_MACHINE\SOFTWARE\MicroProse\Star Trek Generations\1.0] -"Path"="D:\\GAMES\\STGEN" -"CDPath"="F:\\GENS" -"InstallSet"="MED" diff --git a/build/readme-relnotes.txt b/build/readme-relnotes.txt index 6edb74b..c85d789 100644 --- a/build/readme-relnotes.txt +++ b/build/readme-relnotes.txt @@ -911,3 +911,7 @@ fix: eliminated "Automatic" surface emulation mode, no longer supported fix: fixed InvalidateRect rectangle: avoids flickering in "Microsoft Pandora's Box" add: added "Bypass MCI calls" flag. +v2.03.38 +fix: handling of WM_ACTIVATE and WM_NCACTIVATE messages, should bring the window to HWND_NOTOPMOST z-order position only when activation is on, not off! +fix: in "Share GDI and draw DC" mode, check if the primary surface really has a DC and switch to another one if the DC is missing. +fix: eliminated some redundant code in GDI ReleaseDC in DC emulated mode diff --git a/dll/dxhook.cpp b/dll/dxhook.cpp index f07af6f..63c40c9 100644 --- a/dll/dxhook.cpp +++ b/dll/dxhook.cpp @@ -615,7 +615,7 @@ void HookWindowProc(HWND hwnd) long lres; dxwws.PutProc(hwnd, pWindowProc); lres=(*pSetWindowLongA)(hwnd, GWL_WNDPROC, (LONG)extWindowProc); - OutTraceDW("SetWindowLong: hwnd=%x HOOK WindowProc=%x->%x\n", hwnd, lres, (LONG)extWindowProc); + OutTraceDW("SetWindowLong: HOOK hwnd=%x WindowProc=%x->%x\n", hwnd, lres, (LONG)extWindowProc); } void AdjustWindowFrame(HWND hwnd, DWORD width, DWORD height) @@ -983,7 +983,7 @@ LRESULT CALLBACK extWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp case WM_NCACTIVATE: // turn DirectInput bActive flag on & off ..... if(message == WM_NCACTIVATE) dxw.bActive = wparam; - (*pSetWindowPos)(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); + if(dxw.bActive) (*pSetWindowPos)(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); if(dxw.dwFlags1 & UNNOTIFY){ DefWindowProc(hwnd, message, wparam, lparam); return false; diff --git a/dll/dxwnd.cpp b/dll/dxwnd.cpp index f8a8912..ffd06be 100644 --- a/dll/dxwnd.cpp +++ b/dll/dxwnd.cpp @@ -27,7 +27,7 @@ along with this program. If not, see . #include "TlHelp32.h" -#define VERSION "2.03.37" +#define VERSION "2.03.38" #define DDTHREADLOCK 1 //#define LOCKTHREADS diff --git a/dll/dxwnd.sln b/dll/dxwnd.sln deleted file mode 100644 index 7be8845..0000000 --- a/dll/dxwnd.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dxwnd", "dxwnd.vcproj", "{579E7FE7-2745-4100-A802-23511711FCDE}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {579E7FE7-2745-4100-A802-23511711FCDE}.Debug|Win32.ActiveCfg = Debug|Win32 - {579E7FE7-2745-4100-A802-23511711FCDE}.Debug|Win32.Build.0 = Debug|Win32 - {579E7FE7-2745-4100-A802-23511711FCDE}.Release|Win32.ActiveCfg = Release|Win32 - {579E7FE7-2745-4100-A802-23511711FCDE}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/dll/dxwnd.vs2008.suo b/dll/dxwnd.vs2008.suo index 26e6a8d..cc7bc5b 100644 Binary files a/dll/dxwnd.vs2008.suo and b/dll/dxwnd.vs2008.suo differ diff --git a/dll/gdi32.cpp b/dll/gdi32.cpp index 4ec6a65..8f3dee0 100644 --- a/dll/gdi32.cpp +++ b/dll/gdi32.cpp @@ -715,10 +715,12 @@ HDC WINAPI extGDICreateCompatibleDC(HDC hdc) SetLastError(0); RetHdc=(*pGDICreateCompatibleDC)(hdc); LastError=GetLastError(); - if(LastError == 0) + if(LastError == 0){ OutTraceDW("GDI.CreateCompatibleDC: returning HDC=%x\n", RetHdc); - else + } + else{ OutTraceE("GDI.CreateCompatibleDC ERROR: err=%d at %d\n", LastError, __LINE__); + } return RetHdc; } @@ -772,7 +774,6 @@ BOOL WINAPI extGDIBitBlt(HDC hdcDest, int nXDest, int nYDest, int nWidth, int nH } else { res=(*pGDIBitBlt)(hdcDest, nXDest, nYDest, nWidth, nHeight, hdcSrc, nXSrc, nYSrc, dwRop); - OutTrace("Debug: MEM dest=(%d,%d) size=(%d,%d)\n", nXDest, nYDest, nWidth, nHeight); } if(!res) OutTraceE("GDI.BitBlt: ERROR err=%d at %d\n", GetLastError(), __LINE__); diff --git a/dll/user32.cpp b/dll/user32.cpp index c142a16..67dc9e6 100644 --- a/dll/user32.cpp +++ b/dll/user32.cpp @@ -1992,6 +1992,12 @@ static HDC WINAPI sGetDC(HWND hwnd, char *ApiName) LPDIRECTDRAWSURFACE lpDDSPrim; lpDDSPrim = dxwss.GetPrimarySurface(); if (lpDDSPrim) (*pGetDC)(lpDDSPrim, &hFlippedDC); + while((hFlippedDC == NULL) && lpDDSPrim) { + OutTraceDW("%s: found primary surface with no DC, unref lpdds=%x\n", ApiName, lpDDSPrim); + dxwss.UnrefSurface(lpDDSPrim); + lpDDSPrim = dxwss.GetPrimarySurface(); + if (lpDDSPrim) (*pGetDC)(lpDDSPrim, &hFlippedDC); + } if (!(hwnd == dxw.GethWnd())) { POINT father, child, offset; father.x = father.y = 0; @@ -2116,10 +2122,7 @@ int WINAPI extGDIReleaseDC(HWND hwnd, HDC hDC) res=(*pGDIReleaseDC)(hwnd, hDC); break; case GDIMODE_EMULATED: - HDC windc; - windc=(*pGDIGetDC)(hwnd); res=dxw.ReleaseEmulatedDC(hwnd); - res=(*pGDIReleaseDC)(hwnd, windc); break; } @@ -2186,10 +2189,12 @@ BOOL WINAPI extEndPaint(HWND hwnd, const PAINTSTRUCT *lpPaint) break; } - if(ret) + if(ret){ OutTraceDW("GDI.EndPaint: hwnd=%x ret=%x\n", hwnd, ret); - else + } + else{ OutTraceE("GDI.EndPaint ERROR: err=%d at %d\n", GetLastError(), __LINE__); + } return ret; } diff --git a/host/dxwndhost.vs2008.suo b/host/dxwndhost.vs2008.suo index c77597d..30dbff6 100644 Binary files a/host/dxwndhost.vs2008.suo and b/host/dxwndhost.vs2008.suo differ