Add mod to fix checkbox background in conflict dialog#4717
Conversation
This mod fixes the black background issue on the 'Apply to all conflicts' checkbox in the file conflict dialog when using the Windows Classic theme.
Submission reviewNote: This review was done by Claude, and then refined manually. Due to the amount of submissions, doing a fully manual review for each pull request is no longer feasible. Thank you for understanding. Please address the following issues. The items in the collapsed sections are optional, so it's your call whether to address them. 1. Don't swap the window procedure directly — use One caveat when you switch: std::vector<HWND> hwnds;
{
std::lock_guard<std::mutex> lock(g_windowsMutex);
hwnds.swap(g_subclassedWindows);
}
for (HWND hWnd : hwnds)
WindhawkUtils::RemoveWindowSubclassFromAnyThread(hWnd, ParentSubclassProc);2. WNDPROC origProc = (WNDPROC)GetPropW(hWnd, L"OrigParentProc");
if (uMsg == WM_NCDESTROY) {
{ std::lock_guard<std::mutex> lock(g_windowsMutex); /* erase from vector */ }
RemovePropW(hWnd, L"OrigParentProc");
}
return origProc ? CallWindowProcW(origProc, hWnd, uMsg, wParam, lParam)
: DefWindowProcW(hWnd, uMsg, wParam, lParam);Switching to the Windhawk subclass utility (item 1) makes this moot. Optional improvements
Minor polish — none of this affects users, so it's your call.
Functionality notes
Non-critical observations about behavior itself.
|
|
Fixed issues. |
This mod fixes the black background issue on the 'Apply to all conflicts' checkbox in the file conflict dialog when using the Windows Classic theme.
Changelog
If this pull request updates an existing mod, describe the changes below:
Mod authorship
If this pull request introduces a new mod, please complete the section below.
This mod was created by:
Please select the options that best apply. Your selection does not affect the acceptance criteria, but it helps reviewers understand the context of the code and provide relevant feedback.