mirror of
https://github.com/narzoul/DDrawCompat
synced 2024-12-30 08:55:36 +01:00
Detect window creation on WM_NCCREATE
Fixes invisble network detection window in Empire Earth NeoEE (issue #251).
This commit is contained in:
parent
0ce906c28c
commit
6d840907c3
@ -184,9 +184,15 @@ namespace
|
||||
if (std::string(className) == "CompatWindowDesktopReplacement")
|
||||
{
|
||||
// Disable VirtualizeDesktopPainting shim
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
return origDefWindowProc(hwnd, msg, wParam, lParam);
|
||||
|
||||
LRESULT result = origDefWindowProc(hwnd, msg, wParam, lParam);
|
||||
if (result)
|
||||
{
|
||||
Gdi::WinProc::onCreateWindow(hwnd);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
case WM_NCLBUTTONDOWN:
|
||||
@ -559,7 +565,8 @@ namespace
|
||||
{
|
||||
LOG_FUNC(procName.c_str(), Compat::WindowMessageStruct(hwnd, uMsg, wParam, lParam));
|
||||
LRESULT result = wndProcHook(hwnd, uMsg, wParam, lParam, oldWndProcTrampoline);
|
||||
if (WM_CREATE == uMsg && -1 != result)
|
||||
if (WM_CREATE == uMsg && -1 != result ||
|
||||
WM_NCCREATE == uMsg && result)
|
||||
{
|
||||
Gdi::WinProc::onCreateWindow(hwnd);
|
||||
}
|
||||
|
@ -404,6 +404,7 @@ namespace Gdi
|
||||
|
||||
std::vector<LayeredWindow> getVisibleLayeredWindows()
|
||||
{
|
||||
D3dDdi::ScopedCriticalSection lock;
|
||||
std::vector<LayeredWindow> layeredWindows;
|
||||
for (auto it = g_windowZOrder.rbegin(); it != g_windowZOrder.rend(); ++it)
|
||||
{
|
||||
@ -425,6 +426,7 @@ namespace Gdi
|
||||
|
||||
std::vector<LayeredWindow> getVisibleOverlayWindows()
|
||||
{
|
||||
D3dDdi::ScopedCriticalSection lock;
|
||||
std::vector<LayeredWindow> layeredWindows;
|
||||
RECT wr = {};
|
||||
auto statsWindow = GuiThread::getStatsWindow();
|
||||
|
Loading…
x
Reference in New Issue
Block a user