From 38f2bdbe6930fa6794af401d1279d6e7d3dd25aa Mon Sep 17 00:00:00 2001 From: Maplespe <43676879+Maplespe@users.noreply.github.com> Date: Tue, 7 Jan 2025 11:09:33 +0800 Subject: [PATCH] bug fix --- DWMBlurGlass/MainWindow.cpp | 2 +- DWMBlurGlass/MainWindow.h | 2 +- DWMBlurGlass/Page/MainPage.cpp | 3 ++- DWMBlurGlass/Resource.rc | Bin 5802 -> 5802 bytes .../uiproject/DWMBlurGlass/icon/checkbox.png | Bin 4838 -> 7827 bytes DWMBlurGlassExt/Common/DWMStruct.cpp | 19 +++++++++++++---- DWMBlurGlassExt/DWMBlurGlass.cpp | 5 +++-- DWMBlurGlassExt/DWMBlurGlassExt.rc | Bin 5250 -> 5250 bytes DWMBlurGlassExt/Section/CustomButton.cpp | 20 ++++++++++++------ DWMBlurGlassExt/Section/OcclusionCulling.cpp | 2 +- DWMBlurGlassExt/Section/TitleTextTweaker.cpp | 8 ++++++- 11 files changed, 44 insertions(+), 17 deletions(-) diff --git a/DWMBlurGlass/MainWindow.cpp b/DWMBlurGlass/MainWindow.cpp index aa5801b..0f9eb6d 100644 --- a/DWMBlurGlass/MainWindow.cpp +++ b/DWMBlurGlass/MainWindow.cpp @@ -53,7 +53,7 @@ namespace MDWMBlurGlass SendMessageW(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)hIcon); UIBkgndStyle bgStyle; - bgStyle.bkgndColor = Color::M_RGBA(250, 250, 250, 255); + bgStyle.bkgndColor = Color::M_RGBA(245, 241, 249, 255); root->SetBackground(bgStyle); try diff --git a/DWMBlurGlass/MainWindow.h b/DWMBlurGlass/MainWindow.h index 4775326..2818971 100644 --- a/DWMBlurGlass/MainWindow.h +++ b/DWMBlurGlass/MainWindow.h @@ -21,7 +21,7 @@ namespace MDWMBlurGlass { - inline const std::wstring g_vernum = L"2.3.0"; + inline const std::wstring g_vernum = L"2.3.1"; Mui::_m_result MainWindow_SrcEventProc(Mui::MWindowCtx*, const Mui::MWndDefEventSource&, Mui::MEventCodeEnum, Mui::_m_param); diff --git a/DWMBlurGlass/Page/MainPage.cpp b/DWMBlurGlass/Page/MainPage.cpp index 664021f..5fcea3b 100644 --- a/DWMBlurGlass/Page/MainPage.cpp +++ b/DWMBlurGlass/Page/MainPage.cpp @@ -209,7 +209,7 @@ namespace MDWMBlurGlass - + ); @@ -911,6 +911,7 @@ namespace MDWMBlurGlass m_page->Child(L"crossFadeGroup")->SetEnabled(index == blurMethod::CustomBlur && m_cfgData.crossFade); m_page->Child(L"useaccentcolor")->SetEnabled(index == blurMethod::CustomBlur || index == blurMethod::AccentBlur); m_page->Child(L"overrideAccent")->SetEnabled(index == blurMethod::CustomBlur); + m_page->Child(L"disableOnBattery")->SetEnabled(index == blurMethod::CustomBlur); m_page->Child(L"titlebtnGlow")->SetEnabled(index == blurMethod::CustomBlur); if(index == blurMethod::AccentBlur) m_page->Child(L"overrideAccent")->SetSel(true, false); diff --git a/DWMBlurGlass/Resource.rc b/DWMBlurGlass/Resource.rc index 6e3339c7ce14a73f8ff3022ad57a18f14c1567a4..94b5dc9623b9ea1a33a07aa3ee6fa695a59ed7ba 100644 GIT binary patch delta 42 wcmZ3byGnP%Jyu4;$@f_e84WiJvb|*jQvW$Dfz;&x9MY51xP>;Sal3E>06cOHo&W#< delta 42 wcmZ3byGnP%Jyu48$@f_e84WfIvb|*jQvW$Dfz;&x9MY51xP>;Sal3E>06Y;5ng9R* diff --git a/DWMBlurGlass/uiproject/DWMBlurGlass/icon/checkbox.png b/DWMBlurGlass/uiproject/DWMBlurGlass/icon/checkbox.png index 8d595c7829e0e54208386a43db85216d100cd3a3..d48232d9fd47dad129ac410d568da05456b7d097 100644 GIT binary patch literal 7827 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 W@T*9rOSYbQb<(R6GAaLG;QS9*7L%g@ literal 4838 zcmYjVc{r4B_kU#H6<=9GmKY@rvc|~PBs&RNLze8Skr*;02}!aW%R81VS;oFhkzJO? zR<;mAWf_VwqxbfGuj_aH{+OBPdFFb~Irn|e`JB(^jx#g4%FZId0znY_HKd*e1kq@N zYZwy)_)gLmmj*w~0Z7|m2x8?v{?I^~*?bUmD*c+?6|0c!pE(bWcsyo$2#PH-8^SX| zEfU6b;cb~ysh)NxvjpJYc6Ze>y~{d64Q@S;GGMKTd+&)Pl=3PG)Q#iljk^l{Qw=R? zV|J@9+?KYZQCq&#^uQzc;a_Kzy^S{4Yg_V=6g)7N|6o6Blk#9C!^1=RwL6?ECMHGz z+N6C-w}pTtPXq`BVDeq)ws^GpBQ>C1yNciQ@0Ihsn&+1pFfK+EC4rB5XxjYAjh+vt z#l*H(PIh)*()acC^maE?9`1a*@;AS_-zg+y|N6M;;QaoOlZ_2u$&o_8 zE$zeXtPo4g30Ya$JearM1DSyiALYWbGS-V1FM9g;NU(K&r;)f@_hsj(er+1M_+A4^ zyoa|aebu`h)Y#alEtdRzDv9gFYxno^Y|YKhBXe^mOroJspFl#96QSKE3S}mlq8}R_ zjigYi3kwT0P4-&OiX!LPI`aw(X$=ZbUb=J%cHx4!WXd(pv$n-V_P*g$tr&|^r7x3{ zHy4+e=~E5qGmMnaA2zhK2sM!_#HmVB>qi-LDD&~?@-1~Wu78Vx!sjRH54Nc9>xy-DrDUTjLR0~@@0qL8Ym5p!h z?!KzS=);{0tc?Q;AHdZJ9#r^yDD?Giuz3-z? z!<+sNZH@%vQmb6sD(A=cg`=vJuk@jFXTrk6PxA0clvP$bCS$Sl>W_Z^KvO?``c&Vy zyrZb-G4#qbTlFN5zFO-O9{u;AHsHXZS(JNPIpEG$>$T}MX;Uxv|Zt^4a%cCu+2R&NmY_V!=b)~;mFHuFpNf;1ou9`(*ln?k0Q&~xVR=(n=xQDuOwvW6{)kOuH}=SUF*?adD_Q=Z zyz4>-so#RsqA-|Ju(`7R!^07(AbLl%mzNj3va)jRZ9DnArb|aO{7*`s+t&7W{`$to zX-za`-vx<8Ci~LfE25;Pr6JfjIDXwgz#}kKhYaF1O9yO_;wO0@v@+| z7kOj8HnX}YKc5Cc-Aze$|LipZ&%ooA*o}$$wRb*RFb4)qeVUkf^61Ymer8eP;?mLp zjjHcaxoZ>y=E~qa7r*HNaqZsnMDRCSG#VWh%L%$0B|9bMhyyI@;>P*kg@K|(|JA?*rlaTu(32z2@g7fD5dypjYqi8I*{m*g>&eN7`& zJE){eCZ2Faj+bX6J=4jDjEPCKw6ts0d_+E$XfCT8H%{vGUU>NM;fp@Eq%>Iv!!e(2%5L%Gy8B3t(+^Fhjf-cPm1k4HFf0qCy zlEq|9k|8k=2wi=()Y-F8)xKIM&fMv;rY2217Q`eDVzMDg(aX>BcRP{`%wUkSI@H*l zcrR%GyDL9uCI{r`=-AP}i@}u|F@|<)X0rp(v7rF3BFA1c5z>%|hkAJZ?Z8Z?$l#&@ z&I`Q7ageHLk#8$gJW&tIj*n+8PeJtD{`JM#M$_ld+kbs-E`QGgZ{EzukvkV9Y7bg0 zT{c!fFg|slmeX)$ZsQ|zW^swajI&P$0cY6k@cRfQb{mD|=Dc&4JIVX$|vFW##1 z7#7aIL0(?PMi|)JpHcSxB7rv~@bK_BZ%kB7wV*a%OrUaaDT;}4tbD>&Vz(&B&|;hU43 z9UiGI_(;~iG4gtv?DpH$k6BWA37S$S+3(hf#RrqDr)7CYx^v$Wjs!y6aw9ZRzh*>z zrIfXk|0>PS&Z>s(%MW1@!*W?_!IE0kT}zsZTvvsRfR#ah`?kWlGt4AclCnpvLOGrqVs`cPxVPV;K2QjJxJS``Ervn8= ze>L&U+6}^_<0JOzdSAhyWAh5K-+%mwHj)(FAuS1OhDKN1YAC?tUpdvIsi8hIjVBY+ zr)I{-kH^k8jhcV{`3E?M`UkLxLQ>nGIb90WwD7%-^+9R6w+|466D{; z?dgkFG8R8~jy^6fjzcX(QBkqlizu0W`C$-}c8dX%f0I-QV-ZyG`w%OF{{CVGY`mJ@ z)vHVKa_xK;RP^D`2FH&{MP3r;&bg3QK5~>gSzGhg`+SZ9Na)?WSL=)B(Rb;5!fw+R zx>vO!l}qzXRr6-0{goRx{*iTTWy&n723SOcy%%=)+xN$8%V~CYb|_SUQGxWEbpY%l5q%VT3!V3+|uK`b_1 z+FIzOC<`Po6r1GeAdycysi3W&kjbGl&G%Wghr_gVm_S#5ICOV+Ul`0#q$tzS&`dS> zi=3dP75a6Wn;Y}xi`|h)@SQu7Orl5=lNBmxv?SM_#O-N1M#iP7YFEHIIR4yfz9$W4 zT_8v!G`!&v&b^?@ktXNV4f^W97cj5n%uMw~avZzahqdjUosLR}7Hy{YsTXcSyV-q> zO--W8%DiBrc6Y@O6XK;LB?SEb zAwfSVs7Cjf6$d@eA}%_buAMp4sK}Ag-^z+-qT<%-3yn72D>w_6!{0x{xPScm^=q7B zU2gN(RO>*miY(2;(vEIwYI?ADt2G2ZQR$%ZW{+DiueVXB!kR?850(WMr)2C3T79Z9 zu&|Th@mv3R?Y6bx=@Kvx{^rpam6hdy!{JefrB>&Crt8^H#nH`2{MB?K?C*z^-)b-k zK*Z=gPSPSjeJe6hlLup|uC9KXm?(T70h;c)#?0*O!9bG}`hY$#FwmyuK?U)0y&-UK zyakZ1=jFNUTSFR~stMSvEWvueS(ePA^!4>6n$gPdP}JU_!%0_ZOHkcCn>N|GG$jo@ z#L_BNON};=egLGNR4*}B*4Mq|*;4Yyy|G4F%0HP!B?{~6Zg^hI1uBM1M*--< z^YZ+1$86NJyrKT3_uab*Lje^)2_ynI5|5O~>bmCZ>ucb_7Z1-c^1OSumUKZ{8g7Tp z6O{mH50jRzCY6j6`9EZo&VttXIqI9GEiy4C8oE${J_YT|W(b*)ZDMn-A_HO#2Zxn&v5 zYShT+=wm>Hf@B6Hzu!}z0~$D$Tj!MU<&bwk1hKA6&dw$4dGV z0C+^F+vOG0moHzQfS6cVnw`we!9bg7MOIi_x>DW8fzkwvSTK?#a#UDn`5h`gEBLy) ziXs3V)Kps=oNO;!+#Nbs0P+RIXiv=#js%00xj(A_?+JeaS5v-eZ7sXAw};=K@~7~TwWRO>0z{*N8y3YIu@NuC8zHSEN>@=)0g|Q|bf&?vaCGY6bHU_B z+I5MStoix*>!p^(9ixmjU}=GYa6?1G=Q0D8lWX@dWWc5_7JHF(0s^W+KmF$#trlM} z9^efiNFn6i(qyh0Eiti0!40>ukrA_&y_linLx;RQZqj7db~ZuUvS><08-mHmj6tdr zsfLAZt*xFY6bdLlaEkCeL_xeK5QvQL-@j{Lzs@QkD9GF?&kw!yk$dF3Ca8dUpGOn$ zv}nx}XK`)d|IQtr0r)z8XMJ7g(IXAfXg3I1)AoaptXMaTihY%EztCxDBwSSd4fP*XO Nn!br%rH*sde*u^2W<>x1 diff --git a/DWMBlurGlassExt/Common/DWMStruct.cpp b/DWMBlurGlassExt/Common/DWMStruct.cpp index 33ec234..b1a4a7b 100644 --- a/DWMBlurGlassExt/Common/DWMStruct.cpp +++ b/DWMBlurGlassExt/Common/DWMStruct.cpp @@ -1035,11 +1035,22 @@ namespace MDWMBlurGlassExt::DWM void CTopLevelWindow::CDWriteTextSetColor(COLORREF color) { - auto text = (CDWriteText*)*((ULONG64*)this + 71);//CDWriteText This - typedef void(__fastcall**** CDWriteText_SetColor)(CDWriteText*, UINT);//(***((void(__fastcall****)(ULONG64, __int64))This + 71))(*((ULONG64*)This + 71), inputVec); - auto pfunCDWriteText_SetColor = ***((CDWriteText_SetColor)this + 71);//CDWriteText::SetColor(CDWriteText *this, int a2) + if(os::buildNumber < 26100) + { + auto text = (CDWriteText*)*((ULONG64*)this + 71);//CDWriteText This + typedef void(__fastcall**** CDWriteText_SetColor)(CDWriteText*, UINT);//(***((void(__fastcall****)(ULONG64, __int64))This + 71))(*((ULONG64*)This + 71), inputVec); + auto pfunCDWriteText_SetColor = ***((CDWriteText_SetColor)this + 71);//CDWriteText::SetColor(CDWriteText *this, int a2) + + pfunCDWriteText_SetColor(text, color); + } + else + { + auto text = (CDWriteText*)*((ULONG64*)this + 66); + typedef void(__fastcall**** CDWriteText_SetColor)(CDWriteText*, UINT); + auto pfunCDWriteText_SetColor = ***((CDWriteText_SetColor)this + 66); - pfunCDWriteText_SetColor(text, color); + pfunCDWriteText_SetColor(text, color); + } } bool CTopLevelWindow::TreatAsActiveWindow() diff --git a/DWMBlurGlassExt/DWMBlurGlass.cpp b/DWMBlurGlassExt/DWMBlurGlass.cpp index c26e3ee..a63797c 100644 --- a/DWMBlurGlassExt/DWMBlurGlass.cpp +++ b/DWMBlurGlassExt/DWMBlurGlass.cpp @@ -82,9 +82,10 @@ namespace MDWMBlurGlassExt GetCurrentProcessId(), fileHandle.get(), static_cast( + MINIDUMP_TYPE::MiniDumpNormal | MINIDUMP_TYPE::MiniDumpWithThreadInfo | - MINIDUMP_TYPE::MiniDumpWithFullMemory | - MINIDUMP_TYPE::MiniDumpWithUnloadedModules + MINIDUMP_TYPE::MiniDumpWithUnloadedModules | + MINIDUMP_TYPE::MiniDumpWithProcessThreadData ), &minidumpExceptionInfo, nullptr, diff --git a/DWMBlurGlassExt/DWMBlurGlassExt.rc b/DWMBlurGlassExt/DWMBlurGlassExt.rc index 8e42b46799ee8fa57bcebacd2e3142e6fdbb0588..ecd275ce0c9471b1599cb85b0a8dfcaf642c2676 100644 GIT binary patch delta 68 zcmZqDY|`9tiC6a`+-%4l$O!;vHW54k delta 68 zcmZqDY|`9tiC6a`+-%4l$O!;t_YpGy diff --git a/DWMBlurGlassExt/Section/CustomButton.cpp b/DWMBlurGlassExt/Section/CustomButton.cpp index 9697e2f..b618434 100644 --- a/DWMBlurGlassExt/Section/CustomButton.cpp +++ b/DWMBlurGlassExt/Section/CustomButton.cpp @@ -19,6 +19,7 @@ #include "../DWMBlurGlass.h" #include "../Backdrops/ButtonGlowBackdrop.hpp" #include +#include #pragma comment(lib, "shcore.lib") namespace MDWMBlurGlassExt::CustomButton @@ -34,12 +35,13 @@ namespace MDWMBlurGlassExt::CustomButton }; thread_local std::unordered_map g_cbuttonList; std::unordered_map> g_glowbackdropMap{}; + std::mutex g_dslock; inline auto FindWindowFromButton(CButton* btn) { - for(auto wnditer = g_cbuttonList.begin(); wnditer != g_cbuttonList.end(); ++wnditer) + for (auto wnditer = g_cbuttonList.begin(); wnditer != g_cbuttonList.end(); ++wnditer) { - if(auto iter = wnditer->second.buttonList.find(btn); iter != wnditer->second.buttonList.end()) + if (auto iter = wnditer->second.buttonList.find(btn); iter != wnditer->second.buttonList.end()) return wnditer; } return g_cbuttonList.end(); @@ -123,7 +125,7 @@ namespace MDWMBlurGlassExt::CustomButton && ( (g_configData.blurmethod != blurMethod::DWMAPIBlur && g_configData.oldBtnHeight) || (g_configData.blurmethod == blurMethod::CustomBlur && g_configData.titlebtnGlow) - )) + )) Attach(); else if (g_startup && ((!g_configData.oldBtnHeight && !g_configData.titlebtnGlow) || g_configData.blurmethod == blurMethod::DWMAPIBlur) @@ -200,7 +202,7 @@ namespace MDWMBlurGlassExt::CustomButton if (scale != 1.f) borderW -= (int)ceil(1.1f * scale); - if(os::buildNumber < 22000 && borderW <= 0) + if (os::buildNumber < 22000 && borderW <= 0) { borderW = 6; if (IsZoomed(g_window)) @@ -279,8 +281,11 @@ namespace MDWMBlurGlassExt::CustomButton { RemoveGlow(This); } + std::lock_guard lock{ g_dslock }; if (auto iter = g_cbuttonList.find(This); iter != g_cbuttonList.end()) + { g_cbuttonList.erase(iter); + } } void CButton_Destructor(CButton* This) @@ -322,18 +327,21 @@ namespace MDWMBlurGlassExt::CustomButton auto hr = g_funCButton_RedrawVisual.call_org(This); if (!g_configData.titlebtnGlow) return hr; + std::lock_guard lock{ g_dslock }; auto iter = FindWindowFromButton(This); if (iter == g_cbuttonList.end()) return hr; + auto cwnd = iter->first; + RECT rect; - iter->first->GetActualWindowRect(&rect, 0, 0, false); + cwnd->GetActualWindowRect(&rect, 0, 0, false); auto monitor = MonitorFromPoint({ max(0, rect.left), max(0, rect.top) }, 0); UINT dpi = 96; GetDpiForMonitor(monitor, MDT_EFFECTIVE_DPI, &dpi, &dpi); const float scale = (float)dpi / 96.f; - if (auto backdrop = GetOrCreateGlow(iter->first, false)) + if (auto backdrop = GetOrCreateGlow(cwnd, false)) { auto& data = iter->second.buttonList[This]; diff --git a/DWMBlurGlassExt/Section/OcclusionCulling.cpp b/DWMBlurGlassExt/Section/OcclusionCulling.cpp index b079af5..83c6875 100644 --- a/DWMBlurGlassExt/Section/OcclusionCulling.cpp +++ b/DWMBlurGlassExt/Section/OcclusionCulling.cpp @@ -83,10 +83,10 @@ namespace MDWMBlurGlassExt::OcclusionCulling if (os::buildNumber < 22000) { + g_funCOcclusionContext_PostSubgraph.Attach(); g_funCVisual_GetWindowBackgroundTreatmentInternal.Attach(); g_funCArrayBasedCoverageSet_AddAntiOccluderRect.Attach(); g_funCArrayBasedCoverageSet_IsCovered.Attach(); - g_funCOcclusionContext_PostSubgraph.Attach(); } } diff --git a/DWMBlurGlassExt/Section/TitleTextTweaker.cpp b/DWMBlurGlassExt/Section/TitleTextTweaker.cpp index 3edeb2b..7ad77d3 100644 --- a/DWMBlurGlassExt/Section/TitleTextTweaker.cpp +++ b/DWMBlurGlassExt/Section/TitleTextTweaker.cpp @@ -269,7 +269,13 @@ namespace MDWMBlurGlassExt::TitleTextTweaker HRESULT CTopLevelWindow_UpdateText(CTopLevelWindow* This, CTopLevelWindow::WindowFrame* a2, double a3) { - if (a2 && (*((BYTE*)This + 624) & 8) != 0) + BYTE flag = 0; + if(os::buildNumber < 26100) + flag = (*((BYTE*)This + 624) & 8); + else + flag = (*((BYTE*)This + 584) & 8); + + if (a2 && flag != 0) { auto ret = g_funCTopLevelWindow_UpdateText.call_org(This, a2, a3);