From 8c8f9a4e874ca2de627ca9ec77ca5a65fe2e5c6c Mon Sep 17 00:00:00 2001 From: kleuter Date: Fri, 13 Dec 2024 13:51:13 +0100 Subject: [PATCH] Qt 6.8.1 --- README.md | 8 +- designer.png | Bin 73746 -> 55414 bytes qtbase/src/corelib/thread/qthread_win.cpp | 28 ++-- qtbase/src/gui/rhi/qrhid3d11.cpp | 5 +- qtbase/src/gui/rhi/qrhid3d12.cpp | 6 +- .../platforms/windows/qwindowscontext.cpp | 8 +- .../platforms/windows/qwindowstheme.cpp | 14 +- .../platforms/windows/qwindowswindow.cpp | 120 ++++++++++++++---- 8 files changed, 139 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index 4bd96e05..f0df50fc 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ -This repository provides a backport of the Qt 6.8.0 qtbase module, tailored for compatibility with Windows 7 and 8. It contains patched source files from the qtbase module, along with some additional required files. To apply the backport, simply copy the contents of the src folder into your qtbase/src directory, replacing the existing files. +This repository provides a backport of the Qt 6.8.1 qtbase module, tailored for compatibility with Windows 7 and 8. It contains patched source files from the qtbase module, along with some additional required files. To apply the backport, simply copy the contents of the src folder into your qtbase/src directory, replacing the existing files. This approach builds upon the methodology discussed in this forum [thread](https://forum.qt.io/topic/133002/qt-creator-6-0-1-and-qt-6-2-2-running-on-windows-7/60) but offers significant enhancements, including important fallbacks to the default Qt 6 behavior when running on newer versions of Windows. You have two options for compiling Qt: - Compile it yourself using your preferred compiler and build options. -- Use our [compile_win.pl](https://github.com/crystalidea/qt-build-tools/tree/master/6.8.0) build script, which utilizes Visual C++ 2022 and includes OpenSSL 3.0.13 statically linked. +- Use our [compile_win.pl](https://github.com/crystalidea/qt-build-tools/tree/master/6.8.1) build script, which utilizes Visual C++ 2022 and includes OpenSSL 3.0.13 statically linked. Alternatively, you can download our [prebuild Qt dlls](https://github.com/crystalidea/qt6windows7/releases), which also include the Qt Designer binary for demonstration purposes. -**Qt 6.8.0 designer running on Windows 7**: +**Qt 6.8.1 designer running on Windows 7**: ![Qt Designer](designer.png) @@ -28,7 +28,7 @@ Many of other Qt 6 modules are known to work fine on Windows 7 without modificat ### Older versions: -- [Qt 6.7.3](https://github.com/crystalidea/qt6windows7/releases/tag/v6.7.3) +- [Qt 6.8.0](https://github.com/crystalidea/qt6windows7/releases/tag/v6.8.0) - [Qt 6.7.2](https://github.com/crystalidea/qt6windows7/releases/tag/v6.7.2) - [Qt 6.6.3](https://github.com/crystalidea/qt6windows7/releases/tag/v6.6.3) - [Qt 6.6.2](https://github.com/crystalidea/qt6windows7/releases/tag/v6.6.2) diff --git a/designer.png b/designer.png index 06024de1963fbdc760a6754f825d908ce246eadc..ddbd5f488e703985b3b55190d53fcb69df945a62 100644 GIT binary patch literal 55414 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� zf@)#*)u$Y@1&Q==1__*r3I%7~S%**b$VD{>{XuM7D;7NI#XG`b zS`yG9urE)kC|Hy-sNoH2Qu`bKjuJTD<=XY^3=LuY@j^u80T^DP2!htSLzEcjgh+pD zf`-^)VIQ{=W>B2dKLwcIq$JR?P&x2@AFN_P?(F)()NqntXu+aY|Ct91+|y;{$H(x~ zyY@Jw3_KGQXEqrPgOZ@{&JR5MEwSKB#baN%z8KD`J|AFvU+NpXdml2sbtFA4$U0U+ z(?E~p)qz;JAhj6mDCIV5$pB-*7!y95YhR8?v*Z#jeZ^lr-;`};vNz=gi{az5Zg~C#W(4q<@d#yf^o4Ko&N^fd zFAOd&xZl`uq2SglrVT{u6$g_kcEt$xwk zh$&)qn0)d2e8FCv@}=X=e=JGH=b`JT0cVDfE^nOzOT<9&uGs4!lYindrI>Pyx5#Ce znK9lRkH&*rf25h?dMX9bDB#@3CI3Fzs4vh({*RkNJb;6g737Va{rDgn;W9*lWF~ZY zp;+&_I=P+Ctb=;@Vlpzyd>*Gf6l66I%l^E=^kSLCXLGfY?nQ9m=7f0Ii{XktpVinG z*4(4pei2yT1z2}#9M)bi=enh-q~bHUit_G_{mg{|b(R{6a&3pp94#fcOu+d|0<#a; zJ46P7G@Ke$e-1PbMQ|j@k?NS*s@Gb&c&^T~o$RicW)smXqfVwe2mCGuza=!8d_ip% znDPW&0jrR|zn$w-`X?vebokj(!;j{iEQqL#lR}fp;!xElJGeks=v^lx@YPn9|Et%P zH#NnAkUa0s)lGB+)kf5V z=hX@1m<^SHz&n>R;PS@$z& z*ar$;S(1+9P;6-8>dtr>*!K)_wazb#!0Gdyz6k0WuF0j?b^}E;rke_R@Qh%RK@wB! zxG&`Nuyj^Sk3BlDwB}L0n92te3!XIKWzIVNQRwoi>@}a#_-gl4y1ZL-1eQyZ8gEW) z4pkP7fEqG12bQ8OYDW#Bi|mXvxStmR>{_Uas2Plv1Liy{M}f$DY%WUBJ@Q~ph*Uj0 zT$4tRC0tUc8Nk)$7CCd5RZb==$7>>%CCh#wtFe2obo_2DN3Za0Z!ad-_zx{ic8l)K zGf_B0I!-byA+Pi)J~uDt(XWHUEx2YRbq!GGS`S#8*r&f^t}PmXOebF}$(5WhE zSv9Z%fb&@pChlE?=|}P_4BWGN4B)H%if@`dBS>ZsTwpmh*Emu)fBHw3D>HZGs9~Pk zX4h{(Nz-GmzmDWJLTQF>*8S7)MpJ zu_}avX-y=K#INYxIJCa{6^s#UeH6-gx8_dyv4*0=dsYnzNqpQzZ}^?|KYa0s6>7Xb z71T3N4tOpqCH@|+x;(P>zGt8;JUcB|sh#|JUm&}aIsD0E-aSv4N0QbY$HzPee-~>pV=*w4zr+AkTXtx+pCxXgQo#ZV{Y4Z zmM?KBlcd=>sYSky^_&rX+CAb#x2O%3 z#nU)`9$Fh@`^f=~ezC^MU90bxI|?Mc7XiRl^z4#S2w6NbUf!{@?#Oyt^|UWu9uMA` z=j=|qT=(3D(7Y!H_k8xE$ewv4tp#Q4AI0ocqc#b* zR7}n&rau3SHUoyt$Y+Dwy3w-_fFjt`0+Jx5tEA5zYt}?DHR224NGO9rbODQY-U|bH zdF*sfeTZ`27C$w65AHAaw7__^?UQ>(@o}h9R55BTl3LgQk7K>|XasZ9CRL^7;pphW z_l1CqU!&ykqb9Bl`1k>!J)I68hdDt+ji2Dbqfqd1BWD_b7>NfrEVqYrfB_jQzi-Nw zk5yq4wr&Abrhu0f&!YKc>X4AYMO83YsZDA?H|3`Uatb z;d)iw+LrxTaU}z{3O#!_0aJ8*_tVdgY5p>^7wLT=6!cShcHk&)q|@BwMMLPfg7Xe88j173XIxNdm&OxjZ{!80SEEOn}<@-?zW3F7-msSPIzQHz3f z90x?e^|%~C55vWm6_5Uml0C5HZn&oT3nn>h=m@I+;OyJ_QYs?H#jn;qonP z5ynR~f~a90AX;-2yhl4t4h#Iv75^0nF8%7BVkigaae}I~Yw2J0ms^T~{axo}_sNLm z1%;EPSJ&jM`TIl#0Xf-f>Z!J0u1d>y?{U_RVkg?j+_vxf!_?k85s$$r4Ib3s>P!#% zig1o4cfLcAA3HR1`6qoo8C;93*G-4(@mPcKviwg&TCD^yO)wWvT4P~yeQmpxw|Bj3 zf(C@I!w7!5$ftd0`7qI%vxW0l#wj~K7KzH$s64^e6iR3Q0JZP#Y)zl3Bq1pn5{yVq zzL~#NoDOV=)v{r>?|HIfq?ne%+)PR}l1Wg3@R_a=SGEp*|MZ=rQk5`hgZnRfz@;P5 zE36Y$Mknav{qQtT$wQ2O?{$KhRkwJru zisPk3PV5#0v!1AeHk-gb`?cYl;wK9KANfM9qR8@`{-|=Kc3<9f#oYVh2aqXURW1y5 z9%A(9tFF`hhg_y9j_!YXgqgn=$&%nOGD-e|rxRUD@>azVrXgEoAz71g`7b3!Te`PN zdJT1%)OfPDAz3Qibh%6U2 zvaF4&=4IVqM3ed0WAZvHp8O#k_$7?)#+UjS%r7eX=KIUX+^fpARJPoO-|@j1wxvIyZWLFW+IB|wm1M=eEMuH9FK{k!lPLMz0-ynNa z<`mEcw;7o(Ip^%7`vmOBmBro2KjQD&KCcSg!XjVDFfpk%2lUb!mm7x)vb-l0N|w$h zrL?7`?#VFw3}ZkJRS~h`0Or5D-ZN$R$WwY;yKz%;PCscd^b=krV&kn9`t=BwO;CY) z(m|7N`$afk9)d%Ryi<>Wac)_9H;r7En<(Hh#;v^GeSP~GBr^P&7K`{Gc>aeu47k}c z4rHs1cS^I^y9ZI?2&reQD2_{e`k1;*5u#IS;|4=hzI9w8-K}&YcF@ZS=KEeH{Yn@| z_Ox!cKGG-z+K?l}GHi?9wkwNFS%Y&*;`9YYI zfH5CC(2MDpQK7WjIs-<<^JyM@Kte&4(5R zEWvmrNMz)>KPz>rWT^g~5foIEyH@8z0~jhC{Y)ofj@Jl)Af5U!;jVxLje=e=&v{(5 z@i`zWgB%)Au&iD%v#GRXrM2AvIZ%!ZxH$bbZqc*pR4bcZS@R6EEyep#eDBLM+e6*a z)X}uzP&P;k%tynvBk9cf7wa%9<}Kb4!n6G?Z@*dFJv*hFeX8^AWEZhsTOz$y6BYpQ%jB`LukTp zG955cS~;*)+{O!~U}AcF&;v0S&%&Ql z!}yU}^EYa5T#Vu?-ppPy87L2^wx~b&dW1k(n&sRSTkr%M1XjN>AZmCdVW#rkWx|+$ zYd;I_`2a|WoHcjNmRIy_yt)2+bE&%(wsIabUH$=yIHM^3n88Sfv&xXOxfVz0^I=Xs z3K(yL&WoOm>-djao{xnwDcnJL#iBdSq8T}@30Qjb+r}}1U z<*cIR+e>&a6iAhVa0Xm8wZeJU=fKQGEH2=`|uy$)iE$H$E?7U>MS${*jJG ztpE0|{{Z28Wy@th4@|Oj_s$|A78Im{|tOry|)V5#{p6wg&eGed}SE>;xs`uboB69 zJGJBf6aCB{Cko@Cmu=D#j{top3?rrZv_Pf>*c)I3H9a?3Cda7*fxhvX$-O@FY`7LR zO#9TExw*FMbKxzyrbh|6L>&aelxT-S(zX60{#1on^l%4x5_Qq`r=B(xqXdv@niTu$ zN&80PjKEMx^Z|}NmRtkRkoTi3S7j}N!)*HXWNN4E{30UfYGspFRI?!-JUm+LTnbK% z&JJCy?(4QBg0~RGl`_dGt2nZEna95Dl_cFuPGda>&h=A%z=0Hb#dwc6TnWrnI65^u6Z-1ZF-6eEEiK3p^NtEalo-~!cg^!nP*_a@Yc{EwMgBt4S0KPv=2m=f^}x!iqq>P>i=3U+@GBQee@^0(IcSs zQ%hym7eSE2dk3)@%5D`md9YD-dZCioOZVFO@OaL!j@t^5isF%{UJVQ+jrX`Z*+vq8 zV6y>qU!!jOOI82EKRvI=>ct?yLMN0fPsfTHuXdkBZhRmWO~(cdlT3bNvU3P5bh< zO9XPorMc_;_x7jfy4KH#rEk2i-eMSp3^M_%ZtB?R`dl(X^fY?o3svb=i~h6qR3s*a z>1iM@bZ=3`2+7RL;Hl5KjITr!M)>7uTjwXC$M={ydHFeyJ<7!)O!Y6Xc2$*l_L_d*pDv zU3uRUYC>PCwU>N=5WaIiAp;hmoT~JEiYaPE2kz-^=QEi;_IdWO+yv+H5M`AT7`Ns= zzmpQGzC`c%@-nb%%xrkfyiJpLZ!*MmmHEvSw5)TyjaW^vrRq=EdrLUe8EyG1jLm0R^m)x#`gB#*y81XhH&;QA*IwLtkg&~(yJhSTXSDm_n7BG z8|K5!OXrw!xN-2&=jHM4{E>X-W@TPJ7V>GAHwB-G;1=K%T9w9_IK-4Xe21|1M+Bf~ zD!o#o*Ga0CJKKZpSP^1ihXWfh2J0rM6_QZ+XXsz(6?$6EAuk$9lpYM(6}QtdbaAny zNirqYHzP>CrBHnZPW963U=N!skORJqBZNB1n;Sf=>YS*L%nWxA`KO3!+EZ z@TEg9N>@;c&BK~4h>;G#Z*2US90W)c--6=%W$`}yw^%RFG6;N<-7O8GWDLm|nA+}E zmjOGH!f{}nd<+j6;spOeBVM|Tf);WpBH?lMLOk@^2h>rkIt1z&R9Bi z{+jq8ARRs^SqsTxA)+r>m!Dgw!JsDmR0}sZw==r(#i-5~!OcmtR_e^upVszB5+YIl zlyt!9o6dnpz-BlJ5%T3>&48(8LBxt}=y115UpM;q6V8ra%;+a%Mt3k>iBR5@icTXC zrCvPr-Q&>o=b&4B49S8|Z(QaWB=Mv{oxvR=n1_-De=_JGzCI4v^YU3Bh41smj(?97 zw0$iOdSXfq1b~p`B89|AM0j6!jDyt9KhPOUXD^?S$Q^7zZq#<+Yh`<1&qH@eLp>&D z_zy$*^!KVS8E{mEOb_|8Pbe`faN9VzV80NwNg79G1yS7WR6Rfq@SWVpL+A3K4O&bO ziDLDwt)KC)r$%Cckr?15aTE6odMug6M!Izal3tjT{+=L6=Mz*Z+Qx7D#6WC#)gG|~ zQ*%vD>TFPZR;$bJ@a0*5dsk`UNp8#pmFmWwA_FBJdatLWHwd|MQ9}MayueqUbt?!K zxYtMRQ<*wsw@`Pm_6iSO5(7V?dhR&@quHF+Z$_>&#?m$c^F0rS>i+-{d_PUs`^|1f&85xD6(66!0hv9;LToRMhO+XY+yQu_85sQRVKu7=OBODok) z3MC>|8-E3`p3t@Jr9C+b*qan0;TEc(J$-T zGZCxZ^ON2x1W)l5kmfw_%)ds+4Ntoq#7_<61?@d3QHlZbu=iIh+W<+y=*yt(?y$OP z-o#WCHk2*2YFv^gZ1V;w+!wz89JxUYC8GaFe?Aib)VI|D<%Qrvk9IPryWq@%y$E2+g#I?mhLRn5|h2{L5P`wyO|mhwkLAFByYF=A%sV(`q`5Hl>xT zD8*-OdG>S9pFw7>cT3gZe6 z59E=2Q^L3infD5*H;Nsu9d5wqrmlAr^A`gaCgq}(e+2ozfGA(YT@G8IA_;vpu>K3m z`ml64$M@GJVk0Es$Dc_dvlGlg84;c~QrvUxs{bG8>0Iv2H{Ac2 zkW;VsU0GbSqs$kTgn@&-8x{|Lv4D~Fkr-VIa?`8*ZhsM{Xs~+tX$jN%?Yl!70H2e` z)EBjQBbw>H9DB-k(i2^b1{ax|H7`V}Az_{{xFb}yM*67cm8vr{7^xTeZ>lX&@cbPM zsy2iDhj>CJi4BCrgZ}xlbX_e?retHmM?t9snw5YMCYKWA6hk+D>Mt+s7u96nUo_s{1+tfiYMBSe%@;9Wv6{aFE^`ZIy|#CX z*u~qtU3HmK%V!?>Q;p4zl1?`)G%tLt zhH5E#&R>~(v!ksR=h~%5eeLr=zN&~(2*NPykn-1O>JT7?78y44F zejruz!1B?uB?xVKSbnZ|Xeu-eSz7EOMEl_1DS}wIx>9M7T;^R+3Yg0 zatd7?aBR}4tzVx}^*4U&ne0ViON(`*HffBes~@{TErG)RTb<r30z~0ZZPA9}_Nxg2*=l=4$8H*DqxiJ#pDN@u0}Ut*>10BCL@610wg54xZ%% z%Y}sdsOi0;V(EU1)xSEkjV}5T4dcQUxH^J#56!JOVv8ro!D2Rgu|qj<@=BFy?PQKk zqOxFDc7kUb<3lLMuwEvMD>L`WBZ9sCFjwOQBe>^|^!^le>ZPkyesYK>MDzfRgq5Tg zH^(6g|Bd9uyGJ&77G?{3JKe&B=4A=|ctgt{8qcNgt{d~8iZZqL`UKgQt-+uI8wVZ! z13z=8NwZ(v66aGCT`V>dmld=Gx-WFE05%pI1z4lu3i~s{Pu8L z;lq6zbtGap$^{%sekH(Kc0U~rN#NeMdmTLrPkW_}QG@a3lh0r&gMVsZA=EU7_==I> zlA0gZgg0CWwsoBaZ2_t&GU1#1qnwz+!zt|}nZ4P)lf1=KBJ^}NikBFELO`hq;b4-8 z+e@E)6U|>8Tk56f^ir`p3s$xqCxC+wFM1Q>AxpgiFjZ|*0)MZ3@r_0Z z2+|XxlC^y3prr8Z9&%>8f4l<;8|sE27qg&eLZYOY;{F7qk#i2_H)^s#!hL4RU5u3% zrLH)>I$QsDh@rxZ%CYBaBfvQHMwsGIBtcb+EM;L%l+6lr@Aec@2yl6b+B>KjBK zcWGX=v{>xTUnOjJrVf|{Qfuu?+HqxXq8T1qS|s;vE2Z3Hx(0G-Q{|bK)@rqBzfhJ6 zQOiSJ(C_e6I3{iuGe!X(2t-Qy@YKq@!6E#Om`y_vm}ljj(>AD6Y_biz-6 zY(#-DAwqXI6h||DQWGm7Tp%D8jTO4}f%pL?`zc(B8GLyvT&TLy_490Vdc71sHhlL^ zXifN_9a8X)M|kgE`qo7DLM#2dn(1t{#-TSG7}vPE!53UG_*Q={NVwFO{nHT*dNayv zxM4Q>z6fE3%R2#5Pe1=2BBS(au^Z|74!S0_C={*>^BJZlA2Sns+bwNBaFUXuuVtRe zlu1S*8d9tBA^Y{_AHROx4+_)uWM{v6nQY)`slwbcPFoJxP$2F~^$9dUw;c&NlGk;v z?JTKc`=wpr>pPMnZ6J+bS!DHn7 zcNZFDm5a|MqmsX$`Q*QlzdYX_Oj(KK{7qEC#)&yQ(AkZJGK@_5^Lh;E3GeO$TfxsR z>yJ#&R6&$s5sld^;q~u7yoc~LP}JbEBR}b+93C7W^i8~^4tf=!yUG^u@Sr24KrWMJ znM)!GP}DfG3Qbgu%d2fz8~14DNzIr;XpHN5P=mQ?ex)P6*VRcK&?PrD9}?k3`O7?p zin2R#@+1Mh8ug9-Z$2&^UZSG{4jNS7XCS~?s4ML^QNcvKbgDYh92JXl)TWRi{_OvU zt@nhs^EKe?E5~`CxG;ZvKiciX`A@g?qF{eMT9;WL8!5>K0CQnsSw`$j*XRF zVlhPNTws4=+?uWfe@CM59J8Gl7#V3Kn)4vNf&Y zMn(b<{dh1+4eWl^qHN8z8MdBe4j(yQMmTz}M}Et|;;<+98l%hqlIEryywz3zE*a=& zKPh|Ho!+9>zlTdTxT*a4N0mls5@p!P1GXIF{<5wB7<_~=Eki*JY?VT025D?sS#tzg z-p=k-7f6uj!oJQro|&zsY!@zfGZuRV4fAv|zix`b>n#KB1ba3Tc(2IqW_)akD`JsO z1p=haP!TWfb1^D(t))dj%e+tg>p>G_^McELKHC8zuDJE(Ep`VerD~{Rnh({``E4Aw{t7m`Bp@S8LvEI~ z3~EQN3@>vnu@2FHu_}(aj(;C|E!MA|d<{Mo%lG;FbLW7Tcn$c-;qt?4_{$`tHzJ@$ zHrNe;s`b|qc*5#fkGS;LRQSl4`3avBmG+I^pTclWZSFB=G5Fd4L*>%Aw2+@&JP@cq z78>|W-z5U|TIa;R?r0J_ZK7wEb_;?o$S9{4IR~as{SlT(kPDl$%&-<+ET-zz7*}MM z#S~zvs$a^;qYhTu%c*D%65_&fXj-6UsHxiJ?3kq}YEoK705N+28O2`c-UYD-AuuG|-zwX~xDpOHyf zusLiTR}wk{5_Sdnoo1{#n*KVt7dd-*Qojg2gB*N<$v{21f;rBgFD&jj&DL1ctF}YH zHf3YvMIcdlE9ac_@twK7{Uyz0HHWjs?%pz1%tj*TQ#~0P12q=@_l576@?$mNe5V=j z>OAOt>_OJhEh2yod$ltS^N~#`Ph1H3OzCMO+XNHh*D-Y4wb?RLUPT&pTNANb_{wo) zOa0mAbye^Ni5~u=#C{2pSM0SctnAJLv~a#xK$n^WeHYXyoAB=km$%siT~5ezK1%#g zyoAE+#2%Z_CufbZ^de~EA&HmG&n8G;U38aJp~bS1BIyjOU^2$3$ps3&CbaO}Z#7&P zr5AQ+XU#tVQxL!nY!@l~;hjKwI&C=pAPF1vE3PGjhv=blwx)`oJWX*7%>m9+kf8AoTNabMmuB^Jl18fyRWI_@aiT z02JB(C4}+5w{HfX^QRq|_zhBjIt#zA@ktd)^Ox!mCQ>f!8;$RNhAr|gvoGH~^S8|x zvlyts=Jj{p;_4dACCmFGi!?g0CLeYKd*=0h<7>Qz`|E&f>9*H*cj&}L#($a#{;)Fw zqrAJ+1)c#F!_p@lWFC4NHDc`8*BK^#UGgcbaXJ6cKve?lfsG40H}`b*8jQ|48aFNp z4rcI5fs<&!wC)xao zmuKVd|KPmBo;_|`F})PcCUo&Ju%dQ(9Q}n;xAjq}CGU@qG3l!*^uURHhl{lM+b>z@ zOTnfy^3Sg2w+7Fza{ZKY>3iPMl>5%}fDX>50tfNQj4Ptk7Dnv0+HwJ=jo7y}=@pK0 zj48;-FaA90NXxiijLSzsK4XhNeuG?O){;K-2~l5fB+sfb)50(1+12-JUaNtYS4u1e ze|&_ZC7iaIHxDS@|2&K(zr3D}Otj%_R)x}Bm_A4^alOB50*yIy)M~Qd>`LLnB%@BA zmYF;>JA2Y?6f5-wrbWDdCiAUXF&`^fB%>wd;~h0x{LtmJ>ozTZL<>IhV^J(I`=gy# z>_Xnn5+#SqaHi5Pl#R0ay$H398# z3)(-1QY!;KtmN68JaxE9M5u4TWJh8j+{B6dl;Wu(!_$gqEtAF0k^asoa?)J(&oQrJ ztwF78bmsW|gieF@;ltv((h8uDjZU##KXgDa1!Z`cXzUHaxg+Bc19_T2BkOxfbbe#x zTpCHAMd6^dGQip`5S>z}CLlqt9vR`pC9(Dz-Z}7Hje4_3H*X}p2jX{!8HN4%s?4m< z>M@X24Fs7;^T)Iizcm@0$d%f%=Gq z$ZdLO0nbWb?v0@*H_$doL0L4Z(d_dJYw*3iu{&h+R?z$Y$qW@+bL7rFHMNm|gQ6SgFRF^TZ|Bk(Q~PR3 zo72z&jb~Ik`0Vh(7&IoQk`?2!!ReZ-=BNk}>fK94CYJ~{wmXDZ2qF`%Y>LsOA{^+rJ>}0uGR=&YKwoT^!Q+@(V`_tmEZ2G7@P z(Zf9ua1Y6_=a{J?`Flw_KRqbH-~5HEtvZjQM){+fHoNR-UsnhFYp`K577bxDPMNw< z&*A|@z7^rG0;>si{f!1n&@aW-Q}DTkgsw#sb=Ay#Y4{T(2N9%k6Za!qEA*WCq0|%I ze1GpZQcse%9|!&qDi!dFO0;gb%lO2?Vm&oT4}WPnt@+_&!-~K5A@6T4q)bQ5ClyLw zdxI;ODW=|ZF3Gvtvo2`W(hL%`5xm|iHVHHPCm!;O zl&nEtr0sElS3Y%anTugm5nB2AZEMehdXKmNMUP=s;14|Jf$^=mEC{nm9Nd@Jy|8>8 z=AxjFeEOr-!D^xEADfwq$!yrb+?~RauDj?t=A^!RQX?wAnyz3pVsvAakcS^$%2%co z4Z3pyu{g@up82g%ZDJ9Y?7eT_`d-`h{Q4Cy1Th#4ZSw!HcS~{KC`;LArJ&tnkIN(I z!y8NOhY8>vUZ)~BHf`RG`gy(OoqF>M=sK$B=konzBEcQA3%kd_O%GQ%HoCiId@{h4 zwBYti+ebnm7Ua(k=K%WbXnS3SFFncE@c5;$4Zjy6W zMDx>~ToqN8@;Xfj->-4mp#lPH$v~?ertnqKwD1aq3<+Px5zlxiNQlX}2?=RsiaOOe z_E1Q6>ZiR5M4K*tTs?S+U+k3WAq1#}r5!Q7;1PH-sUFP2_V`OpI)90MlG9KC_s_bf z)jlV>-?MMKK9NM;aMThl?Fe5@(@RtZL!LnQ_3;S`{bQ`5HZgGoc|$l#W|0=0@MD8Lr7;e-WpjFaNdseE{)PGd(|q-# zY*qo>->gmh^)LVn?qYfJNT}uGSiKgt3dq(Z`!?M6ghX&Y1K&91}hIVp4R$tZO%cDwl)BU#pJydMtAlQZ)2tpQrglPed2 z$}xfWJ0*D=m6&0fYRy*msdH=^_?0g0>BRLTGzAJ?+H~Ta%9MR*T!M33HN2PQ>3o-Q z2_DXUYSdObNiCrynNEH7Bs7ht_exi}s(@9(y`=OKFMfXiKtVR4TN?oElF)Rm6#D}L zUqg!v*xqRj2o7|ze4;>?f0ladx(}O zLgc<(n)f>rEMu>u8VT&3P5(}me<<4ASZ1@Dyz<>G;_(~NC_a|l$GVTRk2++56JtaH zd@Ti4Kp5;l@J?MoIyqxWf|mTd1C{tngLjl2`tYe5D1^fdHLw1I-w(q7@xDt{lfx=! zFV$ZHDdQx&rAg0TQ6>F!&Bg{F8Ln!^K4*tzN~au@a`52Xgk2g9EPkY!{83aHZ~Pf9 zMg=0xsv=O((7-AkY7T%LZvX5qn)A5xnOOuv;^YoY6QA@Hn@Ep{?07UrvNxrOVE!Ef z`_49q|5?`*=7Eb{7Gb2P&rgzVanM7nkCrR2x7(%6f|F*eGb6knm5)~46O8Y3a2{Wk ze7(B6A8a#-_+#?uggoiHiik^Up_byd!;}Q!Y#dM^;>Z)lS&;g*_4B6pb!NYS=M>z4 zD@))5NzGJr9CBXu!W4IuZ=M29{o{x*^0)`vA zHGe$K!ib^}D?s%>1T7@u$ktg7?16RefHeQiP;`K(%qHJ|?0gkLsR#f1`gz&XHQ%*w zsYZC;zO;}(vSk9KF`k;zgE^>0=px8J8M9elnl%ZgDpTdpD%ONs9^w_wFwrEIe$)&al%Hjj{6iFU&en0;j zN4Zn$q+PbLXIS<5_4$K6C9fh72iryr@`vg*3^1ddU&Wt&xLOi5%hJG!j2yZKPkUZQ zwWg0yM49nl#U4Z@#<~^8F9q_l%$e}Mxr(iz13q6baHD{>1IrvDkeMp_oD;4#D z`M`oGULvvKVbSSy3_49$gT;&ttAUSo-Wd?ffdR9x#^1d@%MdkeWq#4*7gLo8+~j_= znu&0`gV4TH;Fi{)P*cbEk{DB&@(y}UJHyf-g*1La30f$QjiLgngX?rc6>6IK2odS4 zuU~7W z|IL8j2=K~ReijK~RG=6eY^E|k^^J-v%iNGu_n*9*sVFeHHRbvCVk?vcNOP%sT0f(J zYV@$8oT09IWGnm?@i+bQDe8;qBem~`(W9wg*3bCyKfYwXeg#tlt*hp}MTUiBnE7*T z$d9n?6heKWz>5uUhhwdSF9-E&V6rXG{-s3oOI94*E73BVy23Fl^AALl5bOUaT;nPsX|nZiZ_&2)8733hOSe?T8r!086nJEmg!nm4VCR$DY{o5YSX4F zLCs`SovDSC6z!E|dFIi%2pV59KF%1Qu;RDT@q6y%&oQ9;@~d#p)?Vgi^#xlE5lo=$Xt64 z+M6CKurpNP+uWBXdD)f)QTsi=O0KaNb2)(q8zzxO*TDA`)9f{#At3=LGrhgNQ^w_p zgdAIAb1IfE(W~o*?q}SWP5EB?GgU8k^;u}uIV5ghvX|&V_t~Uct@X}T&xJEOB4Yy{ z`l3Xy3Yd+DR{Pjx)I8|XRov}#B-padWVPg}CnJ_;!cC_GW{s*tLcsg-G~tMk2?iv956 zF~oy1hqET_&=46RCYatECil%)WzQV~f_fZ&B@K8XeeUfZeB1l3uRF;=kpsw3a!oQU z*Qd#`_q>LNo>YuNSrT_R={2pCzrO=lzrCsO+;2WtiW?2;(-n$(k+w?yTTyCK;Kjpg zBjHP0^+b9KDShDz5!2@-VFl${n_|!RL^zZvz_y{%MorqT=SJ@8p(i^U$@s;0ot!v) zwpb*PD&~mRH!`A9cTtU!a?LZiKy=%fS4|E|_l@;&sMTd4Pi?%_z&FcBIVcP5=?Ydo zLJak^p?GjN{1^}C88it%ZCaUWY>02zQ989l#0=Mdfd8FnudfhxdDGC6J>lacmwN9h z*^pexmYgE(%?WCv$B08EuOP>ujqRJ}gewcQRt#2)+oV`Kei24D4zn1(em?(<>AKun zmVWA>oA(iv42vX5>)`k`-0}a=kxW%ph!Uiod}KT7Ghhn;O3Xi^@Zo8F^mQ8032MEJ z(O{9d=XX(TRT&{}^f9lLh^1dNre2wTLa}RO5ZHLLO0&3z^k1f!qOJ;t3YESNlru07 z;FZYZKaG_t%DE72ZD2dJP)5km*(7W!)?_sWzKj%<@pl-N4Y|cW1U2>`?+yXk4Db;7 z`PNUYKP+eP2v{L#6q9f82E>ZwKZ=SN2H5=sV@XB?6Om%^vKJtbKF#kfLq$8+)YbS@>juiOFt|%bG1!QG4n3jpDViZt_ zfmJR<{xE+^RO4U6$VaZ_8jgfUWC=c4+7Pg4Eij`alA9(;qQrZTN#;nzB>_d-Gw+0&+t*!5iIaKj2A}p{4 zmcM$!I)Uo-n-pzqq-2}iYWO`gv0GC0zLQUHR>#TK3Q_Av+W3{Id1JpMg*!j}RFtE` zvY2w{YI~%g#Tz3S4^h;*mmxp^W=Lr}`P?CMivK}eE<8EVxsLsAKKJ{0udAg9d8!q ztoG%NT_5PHw$_k)APml8d>fL3ufTs6ZY!VwI7SIv`Xqm?QqClPpqPWp27boza$Qfc_AvpJ97lO@))S@XJ4#+|OgjwHmkv9psbPlp zs8g?hpkH@{upxO*^*XWZh86k$g0$#<2pCxu#3n!qOH5b!!|&S>K8o`nJ#Q5stq$&~ zcg8`Xyva{B2UVxgwfEnR;}_;L#$R+?(9*up9FpysdYF#aupp-F@6? zr=Vu#mU|it0ZuhJg17tfsvQe6Tj{hp%x?1XdVDCS-rhgk-DZBEH@*BWWP1C_Tbnt( zYh;y)!>v`pYY*xz04djRjJ|IqWw<@!|4^s;y<0;74tBP)%smK}zi%d!Jp3zS^~vw! zkZ9XC(>r&4e%K(I6#nwQ_O?Heg_HOYQ}d{l6DNY*C3o+Qby$m`q;pAJ$3FhniUA=C zp{YOf&YDX0RoLu$l>dm#?mzZ!Mn}ak($)d1EyrHl#QfL+Pb|LMX5osrVxRKqkkYK@QLo}MoSS5LmQYy@7Y3|a|yU{Hp}3}=!0x`KYd#aV zS1A`QyM{Y=q}K>8bULoR!WQ=G3sWkMZkuXpeK;)&Pb@reFy*LXb3*85mW-wRVBFZe z8kBEtvaRIqcQ~`Yy)Y~uLTo*}6#Ij{7%uDWw1AZ&CkHPSYAQ(U16BbCiD5OBpxhc= zS|=3jmnOy1T9m)8?3(}w3Z(ocj1gZZ=iuD;qTx*cEj@uJ9KQhml(feBItP{Qz%Ls{ zSlRkRcxUm4{N+Q=yXst9l()akcb4Yu8avgOgvoG>Zqr<_FZv2&st0f!shid4QzMjoIgx&x_PdVR6M0 zieZA}3_D)oQMe5@k2PU&G?GOVmoDYGAS*+2DOm{#IsL(2*&5ChL5w%xq$2Z3T9iu zw=9P16Z`^m-|h=zD0`|Gm+acko8tP3FdqF!K-hO4u{psIlApHor&KrYPd-M7n6lCv zFUarq(e@@F(y8knLVS3w?|FCAD_cA<_|hMgnBS!ET)Muho4_4<1y;gnH@-usIJ^^U zm+3VUQIJn4IROJzb^J<%n@LptDobPbDbL!No8hANAH2 zpg6DbjFL0XT{7lD$C1+OF#9ed%-J|Tg9!c%Bzcgs~^_ z)2bbkEl9uLeKcf7+-`jOvpwwX|2o<8fRMGg@qqeKm;ZQ~9^_^BF*T8oGQob}NS6}J z=$WGN?Psny)lOz|6m2u2`$EWm{^58Q5G^ytML&)QG)@us>Of-NWBjjd&#~@`;MN2w;YNlB6mX<@l7M z;C?f*dzS`%D(-4<>Ne_w{W?2ZjfXtff~&?#Z|qrA2ee#xHxXa8VlUT0QU*9C>4qE+ zXf}?{J_LR{RYmuB(4euub7%iwelPZ_ zN^2kchT{t#_*_2JCF55_0#3N_Wfb;4rP+)D_~Onm6&yL3l-un~vQSc?t{-IRnhacd z2vF^*g9eN}^*N1H%luVMqBb8mF-_*jTet5mP{3K?SB=5}2KFzb)OT8TXS9gwpkSRG z<)8V$W4}m%xq~mvLGL!tv`hAPja>|~HR^gD>3XCG(XAK56qv9-fD)u>0_NY833)tX zDv-ue{uA2%f^>#3{rquHde=#T6u=WcxEk=*@Op&ILm;*#*;d4=4?9uUeFu~wo?%y4 zlHMZ0Zun=TyQ8gQ2*wcFe)LWR%PREjm`lZ_WzFOwE(LHHsZBk(@zF!#liN1(S@Dy@ zsMS4+A9LNOnssQhm~D}vJ$3zPG-oq<9V2GS`35z(ad+d9+fbu_>38nBXr<6x1FpK{ z8xJpW;9{ElJ2gsPZHw`XcI6ZS%!(h?v8{^zlT&#IY<^5}o@4~_iuAl?OEgWP#tyF6Lk?ZNy`8xQ2P z@t@iyZKQccTse?r(Z4V9REASmr$zj>8n$7bgN|>$gJqvy+~BI{ zXC~#s1n=C#TOvDwsn<+X=ky$NV(2q9l%!pd&%K@?tPZkz%_cNlIvvFu`km7N3-x3U z^|u+T#nHIPDO~lM9%{P8x7%|PtY|D$ePOs344-hEHhBrSlr{s7WYOs;S!(3YwPf20 zULot?WsYr>X!xi{3LcPWS+@{V+(9#zd(FAc6z_+r-NApw_ zxLFKk43G!lpfJ7qO|gG2?8E*zDh^x`RR6Q?xu(~<;u~pK%jnd>PN=JZDqMH+v3yPG zsZ&ALE!?~<=+?df!yjh4;`M$`PIE94tB?-4QFrLxFQfSf!2#b4y4>x0`z=T$8wMAm zwvr>uwno9P)`tUm=)j*FC23*5Qbv3I?VzFB1;U>153fR-lH|{(bQyWDIg%&i(+D8#XM#`oocQ(5IOL^h)k~QpC zU2>6;x&XbJf95h8TafWT&=R#5bItuW1SzN5UO(L4EXeR)$CSSM9JpipQ{ca1ErA}C z*9WHFGF>LMEPEL7qu|_rvft;bzuTcPwqnV)CBP&6zT3Y;4f8o%8V;Q7%)yLi=Ai$J z0UQ`>xIWahz;oXu)3)@L8uPE4a!|p+5I)i^9aZd>$pJUCN|HIQ3_Z2sz``DmT!CK} z15BG^PA;joO{QwhAtrL?{AsH=f1d;)pAAo-v6_D%Dnd`Q0TzrcXR<93d`4W$^lR{X zt<8Uhr~b1N>PGQTRggo9X?->RFX4mTnigxfHup|FKkjR)e}h{?a*?c5{3i+f;PC%2 zS9BNaGwU~+^B-f4i$$Yh3HZoJAO*m9Hl7^yY=yQFz%PGtR(a*P4_2D^1oZ#09W*-2 z%_J}8oxoBgZ9hs|TASL6c0A6PW&7z}B~j28nP;Lpp;!i^!hKW;z+sr^1F z-eb3ZIQ2-2yjFZwG!V{b`SXdVH>0qNeXs7zJDc}M*3X9|=U<=hCqDa`Znt*(!SDTb zd0hoiNz01`^C+rt&xw&*C}+t{@fs22cM5dv8(}h%GV|29~7OhtR(Jek% zYQAJ3T*&yO5KT6kcEOF7cn#bjI@Fu1`$U=%7;2D5{8`NbT5(kZnXk)nJM?GaJ|6rm z*|skA>9r=u>r86{4vE{36CM$vF-64F7dK>deSR$tP^ph40cnRNH9Of#GSoy>kcz^u z!r*oNw7)5sq3P%RaJdg}Dm7mi*P;!<<>szCBNw@xCSkN12u`KzaNU4h=}#kCCv<3R zNBZhss(aSjK`Ji`JQ$dTX2Wm)F`*+0zJ2zZk6bv5<5B8{n#g>m!R*+=_XHaCu`J-R zuas5Xb0*EL!zV20a_HyHKfEb|JYpU)Y3_d3uo}tw4Rx=!r8W1xW_t7&BhZB#YTYv| zIX1_J{o$zN6BlEdN%0>#Ug$tfyOiuCnjo&21Ff#<_G1L^xsT115_pN`EQsK3=^|OQ z{;s+I)%^RC%Ex*i`*%p=ic4s_=;LRu;wf3;x0N3xENq8r(Nx+jqTn90i&EdVzgLDJ zHO8I;pUcY1ctQrld!w1*LK9x+om#m@|A3?JUQR7wTML7*pIUy-ELiW}bg$y?d1Dl$ zJ{Ap7%)8Ch)su?w1)}@)>T*Lz*z;mzZyiNLN*03JRJ9GWVRn!2H+%@cK8wPHAz%0P z_3>`gx`wt+@L~+}15w{92?$(3C!flh;lb2j z_d%8yf8{C8y!sAD1cG zZ~!}og1?MSN2LrrGaOjaC>6@7^@1Wr`V}N2v8D%9qLr-lDAOO`>z#10n4?m0DGNJo z65$`-%GaH6iq<(&QIL;h#45y9>lK}zK|h74;-N7JcN9h)I)o|HtJf3)w+*g9|1zk1 z!Qj^S5k!Je{nmm47?x@4@6S%nnYYHT(qJFqax4###X(C*Jp=qS{AX^B<2tnP5!#F1 zYLh16rt&$2in^R};iQ=;X#wc|@Ug*%jz6Sh#FAGP;B~kW8AX+GDlvU)xiL|r+Y7rS zZ3FL*>WnbW^O+2xsj9ca3JT}%?#tl(JPscFI|CCjy+fJ4sNsgMqQP+7)Kdv~ z`_gJ252gw8(V*3{KKmB zC6>HR*5zu&hIMj97R#1a(}3zAw><1U5e>w{-}!mTw$;Gn6cHl_*-5w8+Gi3XzlJhU z9}u5{n=GJV*>97ahdtNFVdVqRf#8oqnQtQ3QGLI^s)Z-@Hf%K~irrn?{7#bu40Ak5 z|5}%gj}Mja_30{s1e#Ep-c6*;W1`vL!7OlQPOPu7!k<$)A4^c2`mbuv8(M&|>nS%(u4#Ue^#c(77z$yZLRSQUP zw|u5)NakkM7yyTXw&dVZ^phtQ@hYj#cTT)h%kMtoP**?zMC3~q;!iOX1?+UnkAsC= zZlv9|nYg*QzLXXDGT|ROR=_pnjjFIz%pJ)XWhiEu)GxK(_kT83b*-%mL3u-u`Q#>C zi2{v+fjzLjop0h696CAuerd&= zh59c_-#pM#`I7dABM`Nqih{LrEViIuT;8k?d zgZD`AGyBg$;(v-~3lyNWlzPj64~fSMU7l=Vnn4eKJquUSx3=O*`;{flzCij93kUG& zeTEs}DJ!vS4%{pn4gBK6^4&18XeEoF*t?<2$$U#U;je{O@d34nZk=B_C}-r*h(8S6 zTv98)cR1RNmTCg?Em>7gX2ZJze|7MRt&!%&^gxNP{eTx`#edu> z9??1*l)Vx3;`j4=JYnV*H*frx(T2RzuC2fV5#0-sk+T2w)UWdbv28&Ub0-%PA+KIi z{UybtT$8DD+cC8_^(CwNUuGB(O9Q>jNN}b7zJ;Q|Y0uP0)YM52WvZd2Nc>-Us$*B% z<5yeAsIl|Jr6+Cf2$?3%z9S=-Kc2B43=^{gR@y~j3*?%MDB8#kMoI0zXggGEHds%$ zCZ#cBBTNl6+Pl(S(M-URddfL?Hux&YmorZ8_(EtW^)H$l1on#~3+SYuT7VAyKF=h# z!x|X6Flky?P)+_b(ecA(z!vn#HdaC(S5J;sIB*?z{ngm%br}81gZLub=M)Q~PG(Fx$?1a7 z4kHCs?nDpIr~EXx4>+yCc-0!rT*F%s{c*FDwprt^OpC0XwKge1g7RF*FBEJL`S?}E zwzR&BQc=%fZ?nV<{D0;=X973hc9j8x!fkIzzE`(O{E-}&P(crDEuM?<$ z%I{DUI5K)5t<8N6iY@HGWZM)+;^d&ULik_J&yt6p$fsutv_OgbZ1*C=!f$BH#4HU9OdP}O|TWPkV1$_^KO-)0S_44|VaiFk7ofzDS@xgM96Bwtd&)(P!*pO>Y-=-+WCwrBS zl6Ns9Yyjd7BOJ>=1ooHxXAK8D*HXYmYRKsm$cwdRT&Hi1*Of6={wI`WmoF`8=o{E_ z^c*t%I>{{I@#7RjRmJ_w#5z~!e+sEkN7UeFxxojO#9Z-iP$*yJWN}7Fh||sdk)A_S zpiLxw^_LSmMr~MwgtX~2gKikeh(cB*g%SD1~fzpLU zU1z;(I>gVB#2O#j#J}pp%bwuptX}27e40C4Sx)VL$KzhW+%fXe7v1ZPL;57qzj4-K zEoU`PBf$>)idm* z&{y})vW}G-6*npXCRJgKBUIHu*Un)g?DOH%Xm85*i|l7Eo970Mjk+1dPCNS>&UdvL z$WweHYicrYj~{*dc)1vxvzpfSy!ckZwslFvj9KVi9TKR;vd(W)ese2x_AdgE+AA~= z4cS%Z?pNN0(9^;dg`GZ6xTI_F6&LO7JAT2NKG05qOAX;wBMNv_Pp@xkKV z=}&1p3py>`s@RXIX!UE24UJS4krPp~n!OX8uSGhW-94j!y`3CKM&GKqF^hM2?}7Q# zyIY7n0d4jrxrU&Bie5dgk#zI`^%XPF^*76U$%t1 zuyq>_zx71Up(#xsKVDk+pfznrf`7k6kXHzg+?&m)c&%h=&0;r%t76XgzN$BGQdPhJ z0|B*w&{cg`KSy{G)v-1(U(?NG$gth_Lc1n;_&e?_(W7_4`kcP&U9%4|p1Ng4cV!~Mc){l@R+q8U+KM4kQk01= zf$kO1DtPVkO#2SGBN%*Aq%UV7srg)ZZ?+>?g4 zx*tY-)l@@9;^{Fi$qP9!LXlUR2dmg#VALi2^994ttq(Lc!hRfKe%>6O$7ME_BcDGf z7OJr~+@X)k%l3g?VPs=6Q2J{rO4YBrc%NAFRf#`!{q?(H5}GtrQ~WZpcXaIe`w0+q zyZV)z79u)8W^Ueyo^vJuwv=uwO8f0=$mRLdlvS@9cF*^Ge3&!LK|Nz?x`a9C>t5s@ z1K43Btcr1Of-cWFu$JA2N})qXHX}M8`mLVGJdg|ElZbey%}0>3s^@XWNou$;6bH5O zXfVBQAQ634Fo0u8_YqTZ=Nm??4=`2GvW&&W$2V&2xt@`Q>wkTztj_7G*4V50v@I`B zd5z@TXk!!8#H$Xm8wC9EIm`EalBJ=S#d2sEeszMNDJZ)!jaHZEl*89DKG#FTh;$=K zjiCsV4d{{Fo}kFVAB2IzKCIX!##gX*B6f+3)$>6wBPQGUz}qM(+w6~toC$X&#WX-x z;q8&v-6YdQQ#15h=(!=U$9tqFtfj@%Dc`>B@TQbIR5=J+C8E{;c=gz+Z{rNH``AVz z=8L|Rh&yA3?ctIRYxbP|ikOt9sSXSF3b*ntae1ki8u!-wn5WuzK7mV~--@~XS`hH7 z^4>*|n@^#?unYNpA|n&mdvz>?JiHVXDu9f0q5Ew?qoY#gEQ5dW)0+!{0znLWA{rCB2z1GqyVcWxZqN!ZWN8p2WeVzs00*WS-T1X2W%aB3cdM*1KXkJ?_*HvXp^)-4N`mw?)DZb6EjQM< zeq2kG8>4{KmSmnQe@4kaozVPfmKlZ7GoWN|D+j1lG@!>S28NF{^$pUEOOVEt?9>0} z<6(aPZ3P_YPa(PE2t}ie1ZL2%N)3cr8mfi^W2*yp<^tiO@T;!>_W|`UzsdzM%18H> ziir7;FA^MBdHQ-HkuDR?vr5jISZ3lVL*wK$Y&;<3K>p!z^j;6YZJh(fFs}2?`V0Q? z7i8l;rLJfTbzbb^#e>h*L6fT=N6A@XIEqTZ6$R%Q6b_7p9Kb1N0dY_w$_SjunbZAC z5$0A;{`GrZ(G+cXI7Jit2$dQi`of!PFK%C}O_W&hRrAa_rvF`Hs?zkq4+n>PcP~3& zC{V_P3mm@tk(*vN)!;Q@?(fwPlI<%VUz=ZTCBDc@d~wg|u0W%$Lz9-&iwB!>lR@Q3A*|N|F~mp$>{11tk%`!M`?8BphKENP~jXWdo9tJA};r9eB8q_p(_XGuW1Mc_FT$tcROH$ejRxX*)fwczT;X5Qt$V*NBM&yzKDjWBmJD`GmBNtB3TXu$ z1syc9HdGYqh3|e+_xok_kwfpvNs@ikUp$=Z@WmfAyo%_;a!AN80ahaW{2?a{ld4R8 z_ga-A)Kpa;d%z;DT4ZWG)xHKRp?#;GW=BZpN^cwC=WjBed9&7qm5_EMUszM*JrdaCv9%J9W970Be*F4iRo!Pb&asxZ{3~GgcBS0m zn{OAd++xYmS5ucfP8_ZRyTK7zZSdc>2!FUd!rOQMC0UIr^rBrSkIceB@XyOK$-aM| zmFS})Ev4Jd76agCkZbpmi{qEYr>&B1q0I1MwM8gdV_@3w#T+_@@;W916T~9B7xCg@ zEcuRatsA-npG^6XkLLovtw83Q%lvq7qMsi(88}B#Nq$QYwX{I7>tgY;zrSC-!*_dX zOu4d{xt*egh?JA^~L(D!`p9e;EU%a zN)O3wNJ)++R8@5;z0auDP_P9U$of#?ORVWen*vWWd5q~7)7~dN4J}hshUg_SqO>A4 zG5AX|RiuM=lLi8@YoIuG`zVUwhwN~bf3JP4GLLpd+w|QHPR3Ah@SM5B8 zUyz2k7bhn6^khv6j}8Gq*Xd@HUXI~uAI`C zRlc_*_}(rXFtIP@GaK(HY46!E1s00jAys8PB>{+JdGSqFiW;x?Gng4Glwm&>IBUEH z2+WzTJ(wd`Q3^Es-ZSi(o!S%*w;#Ory+{iOWjB1TLWc5%B_+>CXvsgPy0 zvvaMp^X6NYcX#Y=5tv74-9vU8IS@zSDZc~18!3I~;E)Q|lQ|4F$KM@ISx$j#KkUZP zW4xZ@vlRyZil^w?74PYFv^)RQMFUykh4FcTZJZ2K8SK~&aB$*3zJl4CO(NAIm+=YA zZV!lO1>cYou%gYoriB3eYL>w&dPcsQZ6`-j*&o(w(!bBnax{iuIucIbb7DJBF4pTtT(1Bfz zBWv#KPa|!qFbKkljZBtuvU(H6B9_n$`oNvJ+KJny?(YNK>2Y)c60t09_EG@8J<74?U37K(dg;L3I*TOZEQ4 zJ;C5fX+b8L98Ra>AK&6w<@?Da2;L}yc+qG+f9Y)O=`c3};vjEHh@gX?1my_2!d`pO zKxe)I&cKtGSy5S8nX~u#=U=Q%d*TUW+R5Yy)M);J zLC2)V$tdN-e@QYqBFP|#55~~WFi7%Xgumijka4w15aHrBtw2!k4Kra9TRlJwoFTm$ zTE4<7h}cj#V)yEm5Y&qd@(4~#3f!gFrAheyIqmrA$fh3HtLIH}u`S@zjlmCyYiZf|V~4{@~xfeOhhZz9bNYV|56~ zCC+BnB}S0^Z=G@Xi&gF<5JdbWD2#@q0PW zh%$m%_>F(+Ee+D06%nNO#ds7VM-cbJi4jBz5Ojsv2!~)bo(zBR(Fez%;K%ILWvU<@ z1z8l1L|ECTpbrS5d&yt7aF<>$odks`5KAO*WP~8NonIn?U~n@BAy#{!oi@rL2n)yi zF$%^h2>2Rfhl-$DDwXV>pg;S;V~f9?>gsBo^&4kCiAV76v@~Pd{W&?c_wP-^RS`i; z(BwlqeN`q~M228}ZLD|%9T*IA1Q@aL*OKN)gkZ=9TGzfR?J5ZB*>gOC^>Zecc6H`= z_A=rTtRe=64F*=vNNb=7>S=f3yu>4j0{~J3aiTZ_M@oQTED=EvxEYHWSQZEf3Y&xuUFb$ceNCE^a_L!W`swzg-|B0ZNB?fv)Pab{f zm2Ur2K+hJ9#t_7B5CvJUUSSgSV7XiyD1}iGL7qTddP^h*0zonf4$@;gMX*Xoe*PB` z2gw^3o-kDFFQ zaF>ITwT1`={SAPz!`AbCgv1ly3{AfYerR1s85os!uToSgX3=*Mkv zchAhs@UulLKO(am5~Uk;y4`iUoE&rdN(9~R+FGqyYpgT*_V2ealALukpW96ZOo$+v z@iMCzdsdYqf*1ezd0^n;rci`g<4mg|s22x8eiD58^i$zs11sc>At>7u1cF=`1_5Cd z{^7uh6bVGVbQ0uG5kW-%I)q%PCJ=~YeBDBz9o_2xks}ZX7UaXC2bPMUTI!V4p5XZz zBjbO1?4_dbu9tkzO%SEKR?H;breAx4n+h7<<0@Yhx~`0ogJHH zU!6WUthI$hA@j$jVegY(gjc<65^U-0?DTLoH@hxT0XGo@OC$zDK?#C9fr$KTbD_*U zzV&%Uq=49XI)~ux{#$`Ip*Mlx0r+CQ2p2D)KaG;_5>$pCK>L$ z0{;pGja#>tYt0oEkDE7^mp4^N5ww|&l@<4AZQa%6JGpOad3nmHW#ZdkTf5UC5SaAs zF#VLYcK+hU`FZlPhgsWzAa5X+3_(}e%XRc9L9iPNcC$m%_(2cIg-;BA%s$B@$huYx zf)qh+5F`rjicX`7maZ=e2-cCz2-|*U^U6uEuCD3vU0RdFVO$;! zj4v-6BN7BPnw^4xA*|#cjL_@5i!W%-%zvYKVewsNjiU%+Q3|#44@=Y7M;^JrEBI8n z7Y1T{yAA~JJc+!dut&Dp*kZMIHuHlZ5X2<-?MubQM~)okI{nh=)2GK`bxjRX1o`9$ z<`&UL16VwQx&?eSdTkvnBvA%|ATJ=OMk|k&}YfWwoqn#QJv|n3ppVG<@luv@nACb|SA_@q8y$AuZ<`=(a);1t$qf?-b zoLc#h&C$+1^2kvr==XPbpEH9%-oVnZV4(cR<{Bu1)=m&;6%gzyF3v1Ia`?2+Yo}iu zdu^6$tn2(r1heB2%;jYpMZANz$o^?&X2!Z(?R*#qS5AVtDuQZ%w|6$LO$1>a7JFGy zq<)}P6crIa4jL~iIrUIaITV597@EW1FhBos==JlCpaVL1ZVCw*m1lvJ;GwiF!MNA@`Xs@;?Li?yJQp5#3dnx~YU#rEU`q)`)mLy&7^et_L?s7O z7AO-zEkTW+XlG7PdGK@L3?!H;7#$G{%@2u0(D`5_yl2k=mf*2=meT57(o5(5nKkru zc+E_|_YQNBlW1<>N`&sKsPXg#Ev_%4>K?4FPutL`K5b3cQi4p-ehCH&1c7v5?4>jy zI9nzO;*VqQ(QpJ36eNBPhj$-I+=T0H!g@Fu6M^aJCK608BL^}K3gm>4vq3nJpe#^l zf*OC(*&ZX2ubOs3XQ<>-xvhK$O4phZVtZcWD$%qFv0(LjQu9vdyi$$@x2EEs?xWa!sug zORzgD6lmj=AYt`Ea>xURCvA@Y*!Pau_b3@42?pXGTW&_A1QRL~JcT7=YN?wjP#%6B zMWV;FX(>VGxH2H)=|G(cYW#;^_8lhO@fCFDh?Lhix9=5q-%s@vi>8>9 zn3}EsCc$2k;Q9@Jjn}=)db>0lpU`qnaN$@`>W)OmU7RSih`Z_@DZvrhCm%LS5ca#4 zMFlKDW-xayK8a@{;1e}WDsK1xCiz=YLY#&8pn5|o)>{>rIar)nuN@-3!n<2Lp2 zdc8g|00Y*Fh17iAQ-UxX7u1$To}wJm64dwyzwA5AejAaaU#A*(j!=~E;Y?8UX{79s zAXdBS6BXoHf=n&}3kCvgK{BBYqUREM!wV(BJXsJD96wbvO_BAPH6cL7M4~{LE(z|J z5^M*Z32J=JAKw#P5E>+>acXz_1xM9*7*W0l0W~K`ecqam2*0|A-^m z_TZ;Lbs%SW5HWts1g~Rz;hI?l1+#WVQNMC`qQnxs`&dg*qtSDMf0iISkkUGr1Z9+m zz$8oR6OK$U1Nl`@S%NO|7A*LQB`B~xn66rR!<%q0(_q2G;)#iguf>9(`1x>XLh++g zAfA~O^sFWlTuO(mIGhb1@-`||wFEVO;!kse#=_8`9Nm)UXq3y*(iT^fLN--Q)YrC^tQVt zxD*JfQKhnWg9xofLp>bmQHMgR$f_l%@eTf%6O=p5nP|o5AEgT~8lp7PMYd;0)jjm* zhun8ca5Pha{(xvKmY|b}HBiRNs*oUSFc2Rbup$Q2A`^rGLFuwhp$G#?B|O&4?I{nV>Df9sz!z<*Y!^MR35K39c1ogKAN!gW|fv!L9s9EkTWM z@XMSa!wH=$+KvQc&>s+ub&MtGp}}CL5Bti2YPl~HWCb?K1l7}FwqQ;uP&!Z?&EZ#M z)`F#|+|b$M#FZL=R!dOhBO2!f7x2^Je+(p8fdQ#$EkQ7tvx0X((8>)Ot%-zlIg+5m zfh<87ur=GZYzjkyJNB>b2&KVQJM|YM8o$smC)necOz2vUk4EQGWmc N002ovPDHLkV1mb)Hp2h_ literal 73746 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 diff --git a/qtbase/src/corelib/thread/qthread_win.cpp b/qtbase/src/corelib/thread/qthread_win.cpp index 2c2831cf..3c2632e0 100644 --- a/qtbase/src/corelib/thread/qthread_win.cpp +++ b/qtbase/src/corelib/thread/qthread_win.cpp @@ -76,7 +76,7 @@ QThreadData *QThreadData::current(bool createIfNecessary) // avoid recursion. TlsSetValue(qt_current_thread_data_tls_index, threadData); QT_TRY { - threadData->thread = new QAdoptedThread(threadData); + threadData->thread.storeRelease(new QAdoptedThread(threadData)); } QT_CATCH(...) { TlsSetValue(qt_current_thread_data_tls_index, 0); threadData->deref(); @@ -101,7 +101,7 @@ QThreadData *QThreadData::current(bool createIfNecessary) 0, FALSE, DUPLICATE_SAME_ACCESS); - qt_watch_adopted_thread(realHandle, threadData->thread); + qt_watch_adopted_thread(realHandle, threadData->thread.loadRelaxed()); } } return threadData; @@ -209,7 +209,7 @@ DWORD WINAPI qt_adopted_thread_watcher_function(LPVOID) auto thread_p = static_cast(QObjectPrivate::get(thread)); Q_UNUSED(thread_p); Q_ASSERT(!thread_p->finished); - QThreadPrivate::finish(thread); + thread_p->finish(); } data->deref(); @@ -282,7 +282,6 @@ void qt_set_thread_name(HANDLE threadId, const QString &name) } } - /************************************************************************** ** QThreadPrivate *************************************************************************/ @@ -326,7 +325,7 @@ unsigned int __stdcall QT_ENSURE_STACK_ALIGNED_FOR_SSE QThreadPrivate::start(voi QThread::setTerminationEnabled(true); thr->run(); - finish(arg); + thr->d_func()->finish(); return 0; } @@ -341,10 +340,10 @@ unsigned int __stdcall QT_ENSURE_STACK_ALIGNED_FOR_SSE QThreadPrivate::start(voi In those cases, \a arg will not be the current thread. */ -void QThreadPrivate::finish(void *arg, bool lockAnyway) noexcept +void QThreadPrivate::finish(bool lockAnyway) noexcept { - QThread *thr = reinterpret_cast(arg); - QThreadPrivate *d = thr->d_func(); + QThreadPrivate *d = this; + QThread *thr = q_func(); QMutexLocker locker(lockAnyway ? &d->mutex : nullptr); d->isInFinish = true; @@ -538,7 +537,7 @@ void QThread::terminate() } TerminateThread(d->handle, 0); - QThreadPrivate::finish(this, false); + d->finish(false); } bool QThread::wait(QDeadlineTimer deadline) @@ -552,6 +551,13 @@ bool QThread::wait(QDeadlineTimer deadline) } if (d->finished || !d->running) return true; + return d->wait(locker, deadline); +} + +bool QThreadPrivate::wait(QMutexLocker &locker, QDeadlineTimer deadline) +{ + Q_ASSERT(locker.isLocked()); + QThreadPrivate *d = this; ++d->waiters; locker.mutex()->unlock(); @@ -576,7 +582,7 @@ bool QThread::wait(QDeadlineTimer deadline) if (ret && !d->finished) { // thread was terminated by someone else - QThreadPrivate::finish(this, false); + d->finish(false); } if (d->finished && !d->waiters) { @@ -596,7 +602,7 @@ void QThread::setTerminationEnabled(bool enabled) QMutexLocker locker(&d->mutex); d->terminationEnabled = enabled; if (enabled && d->terminatePending) { - QThreadPrivate::finish(thr, false); + d->finish(false); locker.unlock(); // don't leave the mutex locked! _endthreadex(0); } diff --git a/qtbase/src/gui/rhi/qrhid3d11.cpp b/qtbase/src/gui/rhi/qrhid3d11.cpp index 2a4e0666..acc7cb06 100644 --- a/qtbase/src/gui/rhi/qrhid3d11.cpp +++ b/qtbase/src/gui/rhi/qrhid3d11.cpp @@ -3312,6 +3312,10 @@ bool QD3D11Texture::prepareCreate(QSize *adjustedSize) if (tex || tex3D || tex1D) destroy(); + QRHI_RES_RHI(QRhiD3D11); + if (!rhiD->isTextureFormatSupported(m_format, m_flags)) + return false; + const bool isDepth = isDepthTextureFormat(m_format); const bool isCube = m_flags.testFlag(CubeMap); const bool is3D = m_flags.testFlag(ThreeDimensional); @@ -3322,7 +3326,6 @@ bool QD3D11Texture::prepareCreate(QSize *adjustedSize) const QSize size = is1D ? QSize(qMax(1, m_pixelSize.width()), 1) : (m_pixelSize.isEmpty() ? QSize(1, 1) : m_pixelSize); - QRHI_RES_RHI(QRhiD3D11); dxgiFormat = toD3DTextureFormat(m_format, m_flags); mipLevelCount = uint(hasMipMaps ? rhiD->q->mipLevelsForSize(size) : 1); sampleDesc = rhiD->effectiveSampleDesc(m_sampleCount); diff --git a/qtbase/src/gui/rhi/qrhid3d12.cpp b/qtbase/src/gui/rhi/qrhid3d12.cpp index d7595c73..90d5c7f0 100644 --- a/qtbase/src/gui/rhi/qrhid3d12.cpp +++ b/qtbase/src/gui/rhi/qrhid3d12.cpp @@ -4210,6 +4210,10 @@ bool QD3D12Texture::prepareCreate(QSize *adjustedSize) if (!handle.isNull()) destroy(); + QRHI_RES_RHI(QRhiD3D12); + if (!rhiD->isTextureFormatSupported(m_format, m_flags)) + return false; + const bool isDepth = isDepthTextureFormat(m_format); const bool isCube = m_flags.testFlag(CubeMap); const bool is3D = m_flags.testFlag(ThreeDimensional); @@ -4240,7 +4244,7 @@ bool QD3D12Texture::prepareCreate(QSize *adjustedSize) else srvFormat = toD3DTextureFormat(m_readViewFormat.format, m_readViewFormat.srgb ? sRGB : Flags()); } - QRHI_RES_RHI(QRhiD3D12); + mipLevelCount = uint(hasMipMaps ? rhiD->q->mipLevelsForSize(size) : 1); sampleDesc = rhiD->effectiveSampleDesc(m_sampleCount, dxgiFormat); if (sampleDesc.Count > 1) { diff --git a/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp b/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp index aa9d6065..7df58793 100644 --- a/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp +++ b/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp @@ -1562,11 +1562,9 @@ void QWindowsContext::setAsyncExpose(bool value) DWORD QWindowsContext::readAdvancedExplorerSettings(const wchar_t *subKey, DWORD defaultValue) { - const auto value = - QWinRegistryKey(HKEY_CURRENT_USER, - LR"(Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced)") - .dwordValue(subKey); - return value.second ? value.first : defaultValue; + const auto advancedSettings = QWinRegistryKey( + HKEY_CURRENT_USER, LR"(Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced)"); + return advancedSettings.value(subKey).value_or(defaultValue); } static inline bool isEmptyRect(const RECT &rect) diff --git a/qtbase/src/plugins/platforms/windows/qwindowstheme.cpp b/qtbase/src/plugins/platforms/windows/qwindowstheme.cpp index 94766cfc..139c002b 100644 --- a/qtbase/src/plugins/platforms/windows/qwindowstheme.cpp +++ b/qtbase/src/plugins/platforms/windows/qwindowstheme.cpp @@ -501,7 +501,8 @@ QWindowsTheme *QWindowsTheme::m_instance = nullptr; QWindowsTheme::QWindowsTheme() { m_instance = this; - s_colorScheme = QWindowsTheme::queryColorScheme(); + s_colorScheme = Qt::ColorScheme::Unknown; // Used inside QWindowsTheme::effectiveColorScheme(); + s_colorScheme = QWindowsTheme::effectiveColorScheme(); std::fill(m_fonts, m_fonts + NFonts, nullptr); std::fill(m_palettes, m_palettes + NPalettes, nullptr); refresh(); @@ -596,12 +597,15 @@ Qt::ColorScheme QWindowsTheme::colorScheme() const Qt::ColorScheme QWindowsTheme::effectiveColorScheme() { + auto integration = QWindowsIntegration::instance(); if (queryHighContrast()) return Qt::ColorScheme::Unknown; if (s_colorSchemeOverride != Qt::ColorScheme::Unknown) return s_colorSchemeOverride; if (s_colorScheme != Qt::ColorScheme::Unknown) return s_colorScheme; + if (!integration->darkModeHandling().testFlag(QWindowsApplication::DarkModeStyle)) + return Qt::ColorScheme::Light; return queryColorScheme(); } @@ -1186,9 +1190,11 @@ Qt::ColorScheme QWindowsTheme::queryColorScheme() if (queryHighContrast()) return Qt::ColorScheme::Unknown; - const auto setting = QWinRegistryKey(HKEY_CURRENT_USER, LR"(Software\Microsoft\Windows\CurrentVersion\Themes\Personalize)") - .dwordValue(L"AppsUseLightTheme"); - return setting.second && setting.first == 0 ? Qt::ColorScheme::Dark : Qt::ColorScheme::Light; + QWinRegistryKey personalizeKey{ + HKEY_CURRENT_USER, LR"(Software\Microsoft\Windows\CurrentVersion\Themes\Personalize)" + }; + const bool useDarkTheme = personalizeKey.value(L"AppsUseLightTheme") == 0; + return useDarkTheme ? Qt::ColorScheme::Dark : Qt::ColorScheme::Light; } bool QWindowsTheme::queryHighContrast() diff --git a/qtbase/src/plugins/platforms/windows/qwindowswindow.cpp b/qtbase/src/plugins/platforms/windows/qwindowswindow.cpp index c1c0554b..e7b3bc4b 100644 --- a/qtbase/src/plugins/platforms/windows/qwindowswindow.cpp +++ b/qtbase/src/plugins/platforms/windows/qwindowswindow.cpp @@ -1401,10 +1401,12 @@ void QWindowsForeignWindow::setParent(const QPlatformWindow *newParentWindow) const HWND newParent = newParentWindow ? reinterpret_cast(newParentWindow->winId()) : HWND(nullptr); const bool isTopLevel = !newParent; const DWORD oldStyle = style(); + qCDebug(lcQpaWindow) << __FUNCTION__ << window() << "newParent=" << newParentWindow << newParent << "oldStyle=" << debugWinStyle(oldStyle); - SetParent(m_hwnd, newParent); - if (wasTopLevel != isTopLevel) { // Top level window flags need to be set/cleared manually. + + auto updateWindowFlags = [=]{ + // Top level window flags need to be set/cleared manually. DWORD newStyle = oldStyle; if (isTopLevel) { newStyle = m_topLevelStyle; @@ -1414,6 +1416,20 @@ void QWindowsForeignWindow::setParent(const QPlatformWindow *newParentWindow) newStyle |= WS_CHILD; } SetWindowLongPtr(m_hwnd, GWL_STYLE, newStyle); + }; + + if (wasTopLevel && !isTopLevel) { + // Becoming a child window requires the style + // flags to be updated before reparenting. + updateWindowFlags(); + } + + SetParent(m_hwnd, newParent); + + if (!wasTopLevel && isTopLevel) { + // Becoming a top level window requires the style + // flags to be updated after reparenting. + updateWindowFlags(); } } @@ -2496,12 +2512,6 @@ QWindowsWindowData QWindowsWindow::setWindowFlags_sys(Qt::WindowFlags wt, return result; } -inline bool QWindowsBaseWindow::hasMaximumSize() const -{ - const auto maximumSize = window()->maximumSize(); - return maximumSize.width() != QWINDOWSIZE_MAX || maximumSize.height() != QWINDOWSIZE_MAX; -} - void QWindowsWindow::handleWindowStateChange(Qt::WindowStates state) { qCDebug(lcQpaWindow) << __FUNCTION__ << this << window() @@ -2518,20 +2528,7 @@ void QWindowsWindow::handleWindowStateChange(Qt::WindowStates state) GetWindowPlacement(m_data.hwnd, &windowPlacement); const RECT geometry = RECTfromQRect(m_data.restoreGeometry); windowPlacement.rcNormalPosition = geometry; - - // A bug in windows 10 grows - // - ptMaxPosition.x by the task bar's width, if it's on the left - // - ptMaxPosition.y by the task bar's height, if it's on the top - // each time GetWindowPlacement() is called. - // The offset of the screen's left edge (as per frameMargins_sys().left()) is ignored. - // => Check for windows 10 and correct. - static const auto windows11 = QOperatingSystemVersion::Windows11_21H2; - static const bool isWindows10 = QOperatingSystemVersion::current() < windows11; - if (isWindows10 && hasMaximumSize()) { - const QMargins margins = frameMargins_sys(); - const QPoint topLeft = window()->screen()->geometry().topLeft(); - windowPlacement.ptMaxPosition = POINT{ topLeft.x() - margins.left(), topLeft.y() }; - } + correctWindowPlacement(windowPlacement); // Even if the window is hidden, windowPlacement's showCmd is not SW_HIDE, so change it // manually to avoid unhiding a hidden window with the subsequent call to @@ -2563,6 +2560,65 @@ void QWindowsWindow::handleWindowStateChange(Qt::WindowStates state) } } +// Apply corrections to window placement in Windows 10 +// Related to task bar on top or left. + +inline bool QWindowsBaseWindow::hasMaximumHeight() const +{ + return window()->maximumHeight() != QWINDOWSIZE_MAX; +} + +inline bool QWindowsBaseWindow::hasMaximumWidth() const +{ + return window()->maximumWidth() != QWINDOWSIZE_MAX; +} + +inline bool QWindowsBaseWindow::hasMaximumSize() const +{ + return hasMaximumHeight() || hasMaximumWidth(); +} + +void QWindowsWindow::correctWindowPlacement(WINDOWPLACEMENT &windowPlacement) +{ + static const auto windows11 = QOperatingSystemVersion::Windows11_21H2; + static const bool isWindows10 = QOperatingSystemVersion::current() < windows11; + if (!isWindows10) + return; + + // Correct normal position by placement offset on Windows 10 + // (where task bar can be on any side of the screen) + const QPoint offset = windowPlacementOffset(m_data.hwnd, m_data.restoreGeometry.topLeft()); + windowPlacement.rcNormalPosition = RECTfromQRect(m_data.restoreGeometry.translated(-offset)); + qCDebug(lcQpaWindow) << "Corrected normal position by" << -offset; + + // A bug in windows 10 grows + // - ptMaxPosition.x by the task bar's width, if it's on the left + // - ptMaxPosition.y by the task bar's height, if it's on the top + // each time GetWindowPlacement() is called. + // The offset of the screen's left edge (as per frameMargins_sys().left()) is ignored. + // => Check for windows 10 and correct. + if (hasMaximumSize()) { + const QMargins margins = frameMargins_sys(); + const QPoint topLeft = window()->screen()->geometry().topLeft(); + windowPlacement.ptMaxPosition = POINT{ topLeft.x() - margins.left(), topLeft.y() }; + qCDebug(lcQpaWindow) << "Window has maximum size. Corrected topLeft by" + << -margins.left(); + + // If there is a placement offset correct width/height unless restricted, + // in order to fit window onto the screen. + if (offset.x() > 0 && !hasMaximumWidth()) { + const int adjust = offset.x() / window()->devicePixelRatio(); + window()->setWidth(window()->width() - adjust); + qCDebug(lcQpaWindow) << "Width shortened by" << adjust << "logical pixels."; + } + if (offset.y() > 0 && !hasMaximumHeight()) { + const int adjust = offset.y() / window()->devicePixelRatio(); + window()->setHeight(window()->height() - adjust); + qCDebug(lcQpaWindow) << "Height shortened by" << adjust << "logical pixels."; + } + } +} + void QWindowsWindow::updateRestoreGeometry() { m_data.restoreGeometry = normalFrameGeometry(m_data.hwnd); @@ -2707,8 +2763,24 @@ void QWindowsWindow::setWindowState_sys(Qt::WindowStates newState) setFlag(WithinMaximize); if (newState & Qt::WindowFullScreen) setFlag(MaximizeToFullScreen); - ShowWindow(m_data.hwnd, - (newState & Qt::WindowMaximized) ? SW_MAXIMIZE : SW_SHOWNOACTIVATE); + if (m_data.flags & Qt::FramelessWindowHint) { + if (newState == Qt::WindowNoState) { + const QRect &rect = m_savedFrameGeometry; + MoveWindow(m_data.hwnd, rect.x(), rect.y(), rect.width(), rect.height(), true); + } else { + HMONITOR monitor = MonitorFromWindow(m_data.hwnd, MONITOR_DEFAULTTONEAREST); + MONITORINFO monitorInfo = {}; + monitorInfo.cbSize = sizeof(MONITORINFO); + GetMonitorInfo(monitor, &monitorInfo); + const RECT &rect = monitorInfo.rcWork; + m_savedFrameGeometry = geometry(); + MoveWindow(m_data.hwnd, rect.left, rect.top, + rect.right - rect.left, rect.bottom - rect.top, true); + } + } else { + ShowWindow(m_data.hwnd, + (newState & Qt::WindowMaximized) ? SW_MAXIMIZE : SW_SHOWNOACTIVATE); + } clearFlag(WithinMaximize); clearFlag(MaximizeToFullScreen); } else if (visible && (oldState & newState & Qt::WindowMinimized)) {