win-capture/graphics-hook: Fix wrong HWND

Game capture assumes the top-level ancestor HWND, not a child HWND.
This fixes bugs such as the VLC window not capturing anymore due to the
fact that the capture HWND of VLC is a child window of the main VLC
window and not the main VLC window itself.
This commit is contained in:
jp9000
2020-03-07 07:31:29 -08:00
parent 40817331d3
commit 87f5bd6e9f

View File

@@ -506,8 +506,10 @@ static inline void unlock_shmem_tex(int id)
static inline bool init_shared_info(size_t size, HWND window)
{
wchar_t name[64];
HWND top = GetAncestor(window, GA_ROOT);
swprintf(name, 64, SHMEM_TEXTURE "_%" PRIu64 "_%u",
(uint64_t)(uintptr_t)window, ++shmem_id_counter);
(uint64_t)(uintptr_t)top, ++shmem_id_counter);
shmem_file_handle = CreateFileMappingW(INVALID_HANDLE_VALUE, NULL,
PAGE_READWRITE, 0, (DWORD)size,