Restore wine access after program loses and regains focus.

This commit is contained in:
Storm Dragon committed 2026-10-12 04:17:31 -04:00
1 parent f40e471938
commit c3e981b4c2
12 files changed
+351 -2

No files matched your search

+16 -1
View File
@@ -49,7 +49,7 @@ add_custom_command(
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/nvdaController.idl"
VERBATIM)
add_executable(cthulhu-wine-access main.cpp list_view.cpp native_items.cpp review_capture.cpp review_x11.cpp review_service.cpp "${generated_server}")
add_executable(cthulhu-wine-access main.cpp foreground_focus.cpp list_view.cpp native_items.cpp review_capture.cpp review_x11.cpp review_service.cpp "${generated_server}")
add_dependencies(cthulhu-wine-access wine-access-menu wine-access-menu32)
target_compile_features(cthulhu-wine-access PRIVATE cxx_std_20)
target_include_directories(cthulhu-wine-access PRIVATE "${generated_dir}")
@@ -61,6 +61,21 @@ target_compile_options(cthulhu-wine-access PRIVATE
include(CTest)
if(BUILD_TESTING)
set(foreground_fixture "${CMAKE_CURRENT_BINARY_DIR}/foreground-fixture.exe")
add_custom_command(OUTPUT "${foreground_fixture}"
COMMAND "${MINGW_C_COMPILER}" -std=c11 -Wall -Wextra -mwindows
-o "${foreground_fixture}" "${CMAKE_CURRENT_SOURCE_DIR}/tests/foreground_fixture.c" -luser32
DEPENDS tests/foreground_fixture.c VERBATIM)
add_custom_target(foreground-fixture ALL DEPENDS "${foreground_fixture}")
add_executable(foreground-focus-test tests/foreground_focus_test.cpp foreground_focus.cpp review_x11.cpp)
add_dependencies(foreground-focus-test foreground-fixture)
target_compile_features(foreground-focus-test PRIVATE cxx_std_20)
target_compile_options(foreground-focus-test PRIVATE -Wall -Wextra)
target_link_libraries(foreground-focus-test PRIVATE user32 PkgConfig::XCB)
add_test(NAME foreground-focus COMMAND python3
"${CMAKE_CURRENT_SOURCE_DIR}/tests/foreground_focus_test.py" "${CMAKE_CURRENT_BINARY_DIR}")
set_tests_properties(foreground-focus PROPERTIES TIMEOUT 90 ENVIRONMENT
"WINEPREFIX=${CMAKE_CURRENT_BINARY_DIR}/focus-prefix;CTHULHU_WINE_ACCESS_MANAGED=1;WINEDEBUG=-all;WINEDLLOVERRIDES=mscoree,mshtml=")
add_executable(msaa-states-test tests/msaa_states_test.cpp)
target_compile_features(msaa-states-test PRIVATE cxx_std_20)
target_compile_options(msaa-states-test PRIVATE -Wall -Wextra)