From 8ff40f986cf5fa0ee31129949627be7125e467d3 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Wed, 11 Sep 2024 18:01:21 +0200 Subject: [PATCH] remove duplicate code --- inc/utils.h | 1 + src/ddsurface.c | 33 +++------------------------------ src/utils.c | 21 +++++++++++++++++++++ 3 files changed, 25 insertions(+), 30 deletions(-) diff --git a/inc/utils.h b/inc/utils.h index beb1c57..7f7b670 100644 --- a/inc/utils.h +++ b/inc/utils.h @@ -6,6 +6,7 @@ HMODULE WINAPI util_enumerate_modules(_In_opt_ HMODULE hModuleLast); +void util_pull_messages(); FARPROC util_get_iat_proc(HMODULE mod, char* module_name, char* function_name); BOOL util_caller_is_ddraw_wrapper(void* return_address); BOOL util_is_bad_read_ptr(void* p); diff --git a/src/ddsurface.c b/src/ddsurface.c index 38a5d48..2f87cf0 100644 --- a/src/ddsurface.c +++ b/src/ddsurface.c @@ -12,6 +12,7 @@ #include "blt.h" #include "config.h" #include "ddclipper.h" +#include "utils.h" #include "versionhelpers.h" @@ -50,21 +51,7 @@ HRESULT dds_Blt( dbg_dump_dds_blt_flags(dwFlags); dbg_dump_dds_blt_fx_flags((dwFlags & DDBLT_DDFX) && lpDDBltFx ? lpDDBltFx->dwDDFX : 0); - if (g_config.fixnotresponding && - g_ddraw.hwnd && - g_ddraw.last_msg_pull_tick + 1000 < timeGetTime() && - GetCurrentThreadId() == g_ddraw.gui_thread_id && - !IsWine()) - { - /* workaround for "Not Responding" window problem */ - //g_ddraw.last_msg_pull_tick = timeGetTime(); - MSG msg; - if (real_PeekMessageA(&msg, g_ddraw.hwnd, 0, 0, PM_REMOVE)) - { - TranslateMessage(&msg); - DispatchMessageA(&msg); - } - } + util_pull_messages(); if (g_ddraw.ref && g_ddraw.iskkndx && @@ -998,21 +985,7 @@ HRESULT dds_Lock( dbg_dump_dds_lock_flags(dwFlags); - if (g_config.fixnotresponding && - g_ddraw.hwnd && - g_ddraw.last_msg_pull_tick + 1000 < timeGetTime() && - GetCurrentThreadId() == g_ddraw.gui_thread_id && - !IsWine()) - { - /* workaround for "Not Responding" window problem */ - //g_ddraw.last_msg_pull_tick = timeGetTime(); - MSG msg; - if (real_PeekMessageA(&msg, g_ddraw.hwnd, 0, 0, PM_REMOVE)) - { - TranslateMessage(&msg); - DispatchMessageA(&msg); - } - } + util_pull_messages(); HRESULT ret = dds_GetSurfaceDesc(This, lpDDSurfaceDesc); diff --git a/src/utils.c b/src/utils.c index ee7b8cd..6856ee0 100644 --- a/src/utils.c +++ b/src/utils.c @@ -10,6 +10,7 @@ #include "render_d3d9.h" #include "utils.h" #include "config.h" +#include "versionhelpers.h" /* @@ -69,6 +70,26 @@ HMODULE WINAPI util_enumerate_modules(_In_opt_ HMODULE hModuleLast) return NULL; } +void util_pull_messages() +{ + if (g_config.fixnotresponding && + g_ddraw.hwnd && + g_ddraw.last_msg_pull_tick && + g_ddraw.last_msg_pull_tick + 1000 < timeGetTime() && + GetCurrentThreadId() == g_ddraw.gui_thread_id && + !IsWine()) + { + /* workaround for "Not Responding" window problem */ + //g_ddraw.last_msg_pull_tick = timeGetTime(); + MSG msg; + if (real_PeekMessageA(&msg, g_ddraw.hwnd, 0, 0, PM_REMOVE)) + { + TranslateMessage(&msg); + DispatchMessageA(&msg); + } + } +} + FARPROC util_get_iat_proc(HMODULE mod, char* module_name, char* function_name) { if (!mod || mod == INVALID_HANDLE_VALUE)