From 490a30050ebffc703139b0ef0772504b9aa1497f Mon Sep 17 00:00:00 2001 From: gho tik Date: Sun, 27 Sep 2015 12:41:30 -0400 Subject: [PATCH] v2_03_38_src Former-commit-id: 7dc6f0da155bf1c13202f51a6ac1e2ea364cc0c2 --- build/dxwnd.dll | 2 +- build/dxwnd.exe | 2 +- build/exports/Divine Divinity (GOG).dxw | 32 ++++++++++++++++++ build/exports/Divine Divinity.dxw | 32 ++++++++++++++++++ build/exports/Doom95.dxw | 32 ++++++++++++++++++ build/exports/Galapagos.dxw | 9 ++--- build/exports/Hercules.dxw | 5 ++- build/exports/Microsoft Pandora's Box.dxw | 32 ++++++++++++++++++ build/exports/Quake (win).dxw | 8 +++-- build/exports/Queen of Heart 98.dxw | 6 +++- build/exports/Railroad Tycoon II.dxw | 7 +++- build/exports/Rayman 2 (GOG).dxw | 12 +++++-- build/exports/Rayman 2 Demo.dxw | 12 +++++-- build/exports/RollerCoaster Tycoon 2 demo.dxw | 32 ++++++++++++++++++ build/exports/Star Trek Generations.dxw | 6 ++-- build/exports/Star Trek Hidden Evil.dxw | 32 ++++++++++++++++++ build/exports/Street Fighters Zero.dxw | 3 +- build/exports/The Thing.dxw | 32 ++++++++++++++++++ build/exports/Total Annihilation Kingdoms.dxw | 1 + build/exports/dxwnd.ini | 5 --- build/exports/dxwnd.reg | 5 --- build/readme-relnotes.txt | 4 +++ dll/dxhook.cpp | 4 +-- dll/dxwnd.cpp | 2 +- dll/dxwnd.sln | 20 ----------- dll/dxwnd.vs2008.suo | Bin 540672 -> 540672 bytes dll/gdi32.cpp | 7 ++-- dll/user32.cpp | 15 +++++--- host/dxwndhost.vs2008.suo | Bin 7168 -> 7168 bytes 29 files changed, 299 insertions(+), 60 deletions(-) create mode 100644 build/exports/Divine Divinity (GOG).dxw create mode 100644 build/exports/Divine Divinity.dxw create mode 100644 build/exports/Doom95.dxw create mode 100644 build/exports/Microsoft Pandora's Box.dxw create mode 100644 build/exports/RollerCoaster Tycoon 2 demo.dxw create mode 100644 build/exports/Star Trek Hidden Evil.dxw create mode 100644 build/exports/The Thing.dxw delete mode 100644 build/exports/dxwnd.ini delete mode 100644 build/exports/dxwnd.reg delete mode 100644 dll/dxwnd.sln 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 26e6a8d07ac3d596ae90ff003c7055a508495a3c..cc7bc5b506ffa8f96f7e7e1a9467d896c2d1e59c 100644 GIT binary patch delta 3546 zcmY+H3vg7`8OP7L&kYG-A&G<#VK-SqNC@Ty1QNqWVjB!P2#6h6Fwp2Y7HL8wB@A{~ zo8b{thj1gu7VJ=^+JSZkXO&CGARy^fOFC$^Xr-;Z1`%4MqDdt-gb>pp@}-D_Y0-Bq&Gcl!1I3iLTQ7`$o!aqzSs!g*lq&TqAso5VFRN7D7MYcT zym*n$2elbA$o8e4=!M1Ux=CG%=-|Wiv{6DxDa27*h>szE^ueY1nza|m7S4vy&!piD zhQe}9w0-$3sUGjLYn&@9PRbQLPU|OzUsdOMavWci6{lmP!KMzcnT?TiRCl*tY~BTX zH9FYRC{^EQTA7Kye;}e8)^4zjw?+yP9a!%PD8n-IQme!xqD`z7?P8TGyJGr{)qyd~ zocC)p)vG_XXGeFxR5(%w;+ z>*AtLF-yE>{9GGB>lV=jCJ--8hl&lhqM?_(_T9D6l(fuAW0R&NLZVr$#$QN0rCNU_ z$3`!v zf-Xb&@RLQj8(JbUyVxTDvt?8GHsb0m_1Mpa3*H zhdbfNLr*fRN2Eogq9Q|jg!_)^H3?TA(}QVL+srN0wwRvlC2~K=45piVW4hZLGv;fz zX6@C?sqv z2Im@@cEB>d1Bu=;hs=!$*E3|UPdIPPJfBK!evSS*b>TjfW7f&dL20R=v_DBC!ak`6;hprg<+h`37A?ZRwwRNe>ukZb5#&DZS(iJo>NFYera-EP~G`iLkM71+HM zqDp;tCMd1XF7k?X;)kLIyZXoC39(T$yGOe0NQI7T6+32^jOsmc+s0F8B4&n#Cke%Q zec2Qxv#nT<9aNFGY@h3U$387z2;%bPb~8`y4{3(#3U~r;XP!+h2}s(s1CXZnhVuKL*1=mciR_si>V?D?Z}Rh{j959wePV^ zTJV@V@46lH$Rp~^DSIML@HEvHvlpv|Kgtptt#{yvcQ=OYdZ{}6(&wCR@~Rf;S%5>m z0Vf45;%I1zI=9@;mp@YW3VZUSi$GrD({V3n;h7VC@GB7i#LR^M8+;n#zmwQ!%q}y# z8}<9(sa#=Jt6KZCS*qrWd53zwR+fi__>xmhyk%%&Bo92jC`K@&Y2?9IBjz(Jg16wQ zlrt-auVA)_8BKjLvnQF&16xB3mQlsiYu=>24=OBN%3LBE4@a;cF46Gn)oKj`NlxEgzcX73-_LpJc-&|r^x7E3Ul)^^%>*lC zHkH}4U?p*e^)F*s09ek6)y#H))iAq{84Ywl{6mNjFryW0l8 zZ!#N)?-IIOVma_sW-y~WnaONU5(_fBk69t|8ks%BYzo+t1PhCm3~8IJ;>4$t*g9rg znITPdGV5YSlkA44pTS{9{r!UTb~2j*wu{+s;|%LR7w}bv2RN|=%w_gxWXyuvxODtnmyo*C8u zfmtuJMzBN7jx$>h*3axyW*uOsn4M*|3G5s(+8LJ^j)(seo}Tur%wC4SOo=F8F`Ej1 zjoAP*YI_5o+TLXL1pFZ9#h4X?#a}51CSEOd^iXYuEPBtNj6o!p2W2oDpTu&R1rX^K zDbzDXa+2FT-t*6~>TJXulTEEr_;cj;e<>!adym=+jk5BJO7)x9b$?dUhf7lC2S@E< gbvC3`spq#^nQm95$4#;1Vf1Xr|NU^=YCT=@|2$GH`v3p{ delta 1836 zcmZ9Me^3-<7{}jt-*;~pIq-mkP!BxtGUA7F$Y2>mhZ12@gT{;vVoFlkL`K9PN~LEq zi3};Y=xb?4=Hw*(fv)3Hq9F1|Ghw1O<U2HKD+O; z@3K!Ym=X-8bTuh_8zIDOQHH5w=!J(HI!BE=L}*yHaJ8{C^Lk|Cqcmi$doq%;JX}qyQbbp!!bOWucSRC{ zJCbNXjk5)Da;NPTx_P-gnyEXY2pKWQmo8K$Q$l4P#xxLbF0PoNI6lStQff3*uBRSj zymAA*WUgEOAkD}{%4?*Me?o~kxybR5c*4)! z=HPp`oJL7^rrLw03S*q#Yb1Bh)P0!A;wBEfzVnPzzBRMH+nE|!N1h{9WEFXqylVK% z<5H}l*m*VmLor9@lMdfwN#}5BxBwaD;6`D2h7l-tM#!?l!?eHsI7*k5h99cy%KnI` zop=TTc7c#lHM+_B8PqY*1CE0eK<4+|i3Y#cZag*WYzw;0?rV+F*{!&FJCI2Z#IL~) z@Ge*jc7b=m0q`LZH463W`=JiWS-V2B^}|r7$*d zAGDRr=xRGV6EYnv0~ugB$O5y#Y>)%|U=64O*hJ~(yP>Qmrd$f~0cqAMtb>0em7B2= z{Q}fwIjd$YmlFladl;*}NuvaH(`mvJVu_`bVaEU$xCi(_97qQ7U@Gu|MBo8QU>bM{ zOb10k9$NrW1Vb#y%cSBq%jZ>671=D{Tm@APUX)I&%{;C(P>+K=@Fv*YV>7GA=B0|h z3Da#rxD++h*$UMLj!CCPQTIE0ppJu!(iv0KcK)kWtxWYee~0=D+>lN;Q@t~9Ld7yd zt|Q7qZz0;?HsJ7Y!=ua!EZ~ZA)SRSGWR4!Y+6!{j^UeL^l zwQ;IiNH+)YJq4(Cf%nKHkD`4=`;9+~;`CFPpO&7JX=#aHLY)Oe;5;}7eg>kHX=Qv= zst)Aw7>*Y;$h7(2zmq>>r`4w(LB8_|F*yaX|W|;$)+iA@&X^?xSyO zfjK3Pi3W8AH^eI>z3NBGB>7SPq}=_wRvtftO(sT3kJQTD`9FTN7*5f5%hs4Gw#?C& zh!4(cabhHsCy1a=Pm^saQ3Q`^Ud!9B4O7wBqGcL~i``=1IyLofTlHDZ1KJH;H4)bYA&>{yj3J*Y?UqtMwPHRz1*{Lg~>F zt;nIqqTGHvxSBWnwZT10w&bnjp3o&>T^hPQBJJewYZ{QWLC%JbI9dA1jg6+DzS6sjeT15jpSE zWbyr6+^jE&Cks~=R&q+{dS;Cz>1FYvzfnsU9Wyu=wSGO;2ySyu&L=OES~R{jq<}<` vN#bO-zQMPe{Lc;-Tdz)ZK_6xtRWV$t%oAI;INVlCu5LxhZfeyR=q>bbLe=Zw 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 c77597d522fea7bc74efb0d705b73bf6138a2457..30dbff60917186c3906db55bbbea8182e3ee63c6 100644 GIT binary patch delta 248 zcmZp$Xt3De!@|fpS&>DaE#PqA&$OSDi&!r4h%hiPZ~*atAeelSMP+gW2g~LPRv%_Y ztI0<>l({V!;u%U9iWn*x3@3l&@ZIddX~D?owz-nan}vrPst>OB3t!0O6MQ<8OZWqL z_<@pKNCt2I!XLoQBMKA|LK2-^A{@ZO2NYmJ6696{a>{@h2qp)L$ZnPq(O_cCn0%Z= l5yd_EV*Z;Ch&3}!KFnvhxkNIAkptus5CHjP^A{-|MgXvmRp0;s delta 252 zcmZp$Xt3De!@|ftS&>Da%^;+-ZS|+gMJ$(iL>U+uIDq&+5KO+vqB6OGgJp9Cs}D1y z#pI(L%A)2B@eIWbMGVOdF$@_D`9O9FL(F7HPUp=IoED6XE}JX4yjdo@@Ec72!WY89 ziEL5{e*g~?P=E_baPt@b0A?PLW&B8@lS_mHc!YogB1nSVia<^Y5Cg&FKoQx^G9nsG sjA@gPb0~7cT{XE-%zyJfu~w$Zhq(+lmq>;%a_|Aw!+f*(ixdwd0I;7?>Hq)$