summaryrefslogtreecommitdiff
path: root/plugins/TabSRMM/src
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2023-09-22 19:25:12 +0300
committerGeorge Hazan <george.hazan@gmail.com>2023-09-22 19:25:12 +0300
commit3b16ee4c238b3dda7858d3c2e26535b07a2317b4 (patch)
tree825445763bd913f04c9ea383ccc2f2e2ec939c41 /plugins/TabSRMM/src
parentca9c2b831fb23e52ec078e54f20b8287c977bee1 (diff)
nasty crutch for Windows 10 taskbar icon
Diffstat (limited to 'plugins/TabSRMM/src')
-rw-r--r--plugins/TabSRMM/src/taskbar.cpp9
-rw-r--r--plugins/TabSRMM/src/taskbar.h2
2 files changed, 10 insertions, 1 deletions
diff --git a/plugins/TabSRMM/src/taskbar.cpp b/plugins/TabSRMM/src/taskbar.cpp
index d49d937af5..0cdaa05fee 100644
--- a/plugins/TabSRMM/src/taskbar.cpp
+++ b/plugins/TabSRMM/src/taskbar.cpp
@@ -111,10 +111,17 @@ bool CTaskbarInteract::haveLargeIcons()
/////////////////////////////////////////////////////////////////////////////////////////
// removes the overlay icon for the given container window
+unsigned __cdecl CTaskbarInteract::sttSetOverlay(void *owner, void *param)
+{
+ auto *pClass = (CTaskbarInteract *)owner;
+ pClass->m_pTaskbarInterface->SetOverlayIcon((HWND)param, nullptr, nullptr);
+ return 0;
+}
+
void CTaskbarInteract::clearOverlayIcon(HWND hwndDlg) const
{
if (m_pTaskbarInterface && m_isEnabled)
- m_pTaskbarInterface->SetOverlayIcon(hwndDlg, nullptr, nullptr);
+ mir_forkthreadowner(sttSetOverlay, (void*)this, hwndDlg);
}
LONG CTaskbarInteract::updateMetrics()
diff --git a/plugins/TabSRMM/src/taskbar.h b/plugins/TabSRMM/src/taskbar.h
index ed407dadbd..de431680f2 100644
--- a/plugins/TabSRMM/src/taskbar.h
+++ b/plugins/TabSRMM/src/taskbar.h
@@ -183,6 +183,8 @@ public:
private:
ITaskbarList3 *m_pTaskbarInterface;
+ static unsigned __cdecl sttSetOverlay(void *owner, void *param);
+
bool m_isEnabled;
bool m_fHaveLargeicons;
bool m_fHaveAlwaysGrouping;