[qt5] Update to 5.15.18 (#48098)

This commit is contained in:
Osyotr
2025-11-04 21:46:43 +03:00
committed by GitHub
parent b27f6bfad3
commit 2d5710a072
84 changed files with 327 additions and 267 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-3d",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt 3D provides functionality for near-realtime simulation systems with support for 2D and 3D rendering in both Qt C++ and Qt Quick applications.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-activeqt",
"version": "5.15.17",
"version": "5.15.18",
"description": "Active Qt is a helper framework that enables the developer to access and use ActiveX controls and COM objects provided by any ActiveX server. It also makes it possible to make the developer's own Qt applications available as COM servers on Windows.",
"license": null,
"supports": "windows",

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-androidextras",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt Android Extras module provided a set of classes and functions that were specific to Android applications written with Qt. This module helped developers to integrate various Android-specific features and services into their Qt applications.",
"license": null,
"supports": "android",

View File

@@ -1,57 +1,57 @@
# Every update requires an update of these hashes and the version within the control file of each of the 32 ports.
# So it is probably better to have a central location for these hashes and let the ports update via a script
set(QT_MAJOR_MINOR_VER 5.15)
set(QT_PATCH_VER 17)
set(QT_PATCH_VER 18)
set(QT_UPDATE_VERSION OFF) # Switch to update qt and not build qt. Creates a file cmake/qt_new_hashes.cmake in qt5-base with the new hashes.
set(QT_PORT_LIST base 3d activeqt charts connectivity datavis3d declarative gamepad graphicaleffects imageformats location macextras multimedia networkauth
purchasing quickcontrols quickcontrols2 remoteobjects script scxml sensors serialport speech svg tools virtualkeyboard webchannel websockets
webview winextras xmlpatterns doc x11extras androidextras translations serialbus webengine webglplugin wayland)
# qt5-mqtt archive is not included in 5.15.17 release, updated separately
# qt5-mqtt archive is not included in 5.15.18 release, updated separately
# list(APPEND QT_PORT_LIST mqtt)
set(QT_HASH_qt5-3d 94a88bf418f572a07b1ad25d6ca090525e7fe004c9f2d6ca7495e509fd150822bf5d49b66bed3660e492213bf54aff4e8772eeea0f42c24ef4f8c17f2655e2bc)
set(QT_HASH_qt5-activeqt 9089830042c01c990d85b842eafad8cb0c13606b90d310cf5f9e1e030e237c7ad362393ead31d7b6c507fd4623f08f17cb54abb1a21e24a0e42685ffcb3eab45)
set(QT_HASH_qt5-androidextras 9c950a43b8a13a702ee68a3adaa7d5f5666773762b9d8eb45d4202ad5ba016dcd6513d2feaffad0e284b5db4ca9f4e406e2a5408a304fb62bf2fc11952ed2fb9)
set(QT_HASH_qt5-base bd99bc25aee1c10d4161867654f3992c4e811b33337523bb702e3d2f63fb9a0d9118c43701ae791999c71761b86cdee1b6e5a1c520e47b52acbfe2156ce12621)
set(QT_HASH_qt5-charts 2b83853dba30c0fe23967a9eaae4a3bfe3f06608f994dd6f3cbac4cc2ac41856382105a539ee6596710a9cc51f88919229d31a3f90b4dde74a44e7c94e404845)
set(QT_HASH_qt5-connectivity 47617b29f963e05a6e65d9f5a685f6d20bdbd726c631c056c4a0e6037134b08bb956d9f705bee20ec73e0ec87117437acc2d52fe16e0f42ad312c887cc92c97b)
set(QT_HASH_qt5-datavis3d 4be0b0d17242227a9050839fffa84e3aa62e4d87e08aef51ac4ce98c9a8dd11ee2505e950f9ef244958db813b096cdcd2e1d2692a6066eba563c68a7a88f3a9e)
set(QT_HASH_qt5-declarative 7dbe9edfb43ab0b65bcf22c8b3226de851a210c8004b0c82dd346da5aa1ca4b8df0ca56ac78273d9d472252d8b756b62cc8e1d6432b048af947d51f4e9fef701)
set(QT_HASH_qt5-doc cfd9912ceb70f15fc92eaa79fb89f9274ea9ecacd0e707ffabe7cd21f32a9301151aa10e3724a7a9970ea9238c72fe0f664dee55b9911b38e3c96e4fa4d3a5d3)
set(QT_HASH_qt5-gamepad 321b00ccded43fd513c971bf5bafc5d6533db1d208047d52a2d208fc659cf783262ace1118f9393c5ffbb955c32cd32598296555f3d70079bb4837ef1d46c0ab)
set(QT_HASH_qt5-graphicaleffects 0745a3c928af94978f8d3d6748f6a09ad9b8086113371ef7c2729c0a6ab403a3dbdd34b0a4c53d8665e1bf6ddd47f8fbe4d346eab34c41515b9beff707b844a9)
set(QT_HASH_qt5-imageformats f73224594b3c1eb5b0da93143e21b13fa899d14bf93037022ded61c8e3594d5cce452b9090c9c522e5167baa22e8df45deb7b74f73af3451738efd7460d7a9e8)
set(QT_HASH_qt5-location 8ba1f386ce45201dbd3616a328ab256553c93da3bbb99fbe20b7b93419860f3a5612261258895e58b2621b8e05c8a841f3e9cb436384091e02e6a14b72a2be31)
set(QT_HASH_qt5-macextras 2ce07bf16e697e8e55a8237c84ae9e638f9d6305669e71408cc1985e2d225516c20c7985676e96b0c3e846848a70615fa4e4d626d57b3f280d12917106e45ea0)
set(QT_HASH_qt5-multimedia 75cfe80d2a4555769557742a0609be96b7c064aa8f2e28efb4dcf88a121dcd95080a1077f300dd20777519db2b75247f7021d4f5b7cd5a98a78919b35509fc49)
set(QT_HASH_qt5-networkauth 3f1442c91b36d461646a49bdc27c61253e4ad6a909a19f452e101cd3e9428a3cced4408216a5f80d6662101ba9f9f0d5a0c721adc9bd1e203f66bebc9e03ea64)
set(QT_HASH_qt5-purchasing 483ebd1d025da3fa431ecf74204262a27929fe2c03e56ba790b2555b817658663ac9cba2cfd76674d7959ade2da4f1d86f2f7d6492b5cd1d26e56e7197893aba)
set(QT_HASH_qt5-quick3d 34c3f60eb1c86bab19af85c99b084d7a9825f19c5a9b2ba55da967739f3b1887ff3c811fbd546e7281f33ce11669ac61ec660e4da9218744c5215385b0062683)
set(QT_HASH_qt5-quickcontrols b4c736db1f31d8f660f87283e477430a02eb4141cfb6ce9e9523a6df8a852d6d26734c6f68e2b06c654fa9da671ad9ac5527c305022e7cd59adb3354f2c5b89b)
set(QT_HASH_qt5-quickcontrols2 c5c0277e26ef96e7012e7e2eac6027ce0f1b18fa6149f7f431a7c6911c70959bf94f5ee45e4f25065835c7e0ee5fc3e6436e4b0bfd0099505215173c920a80db)
set(QT_HASH_qt5-quicktimeline a5158e8a21544d2f091193cf95e7f3bed1b66910e94b2268b6a1cb032f6f82a3705a8f938afcb228e1afe84e918f6d5707060416f3a598fa45c0810c21af59d2)
set(QT_HASH_qt5-remoteobjects e7af570d1f7d292929d2a1c328047d8293e722081f3d0beb6046cc44081e4395400a2db1238b6fd06a3de1f2f0b0725854088564f76e4870a71a1e4403ab805c)
set(QT_HASH_qt5-script 8acfb38df7a1d925210179423347f478780ed651b2da63e9547c1d48984b9ca759cd258da8d813307f9843d746ede4942850dcf5c26b61fcaf49e8b67dd3b427)
set(QT_HASH_qt5-scxml 1f2b393ab5bf9e1466a2d2b7f192656f3cc26dc2a94c4b4599734ac90a80186bcb9bdc0a57b929b2d4f07ef14b362401278be06657f41d859e1eaf7baef871b0)
set(QT_HASH_qt5-sensors 9404c642e654333630a203523a6cd96050fe891c55ecc29ae8828d586889025bba881a5267425e242cac1cfbaafa0a0e4cdc1a2108ebc287522c09820f97ad71)
set(QT_HASH_qt5-serialbus 91740db5cf9c018802575eec9774847e1118164f7f14a680c8dd3858383a2d7d9b1d9f0ea0ceb66ff2a05d2cd53b75d4a3fa99f88e10b3ffe7441a6fa9c70723)
set(QT_HASH_qt5-serialport cd31c7f15dd0f43edc38a287b8630ce4e45215bf572191765ea886182b539a1f99056dd1d17f596643df944e4745c72b273f2010a6b52370c367ff5e8519823d)
set(QT_HASH_qt5-speech 584fa104ee41b93cb7344ccdd3d0dc6cbfac6a7db623888b062479715f90205ea0aa4eea1c529eca80f7ebac955ba7e1b530eff49f30696fe180cb353ac12a60)
set(QT_HASH_qt5-svg 8994b995ecceffd386b10f0776dca81c776232af0742017f40df35149eac5160d7c62e92f2fea28082d9fe5ed91754af37eb3d49d8602750d5d0c349931a8e70)
set(QT_HASH_qt5-tools 053ff805a95516753dca0d2bfa392469c7ea763b7a99755c6e7a3c6d59afd4bc704ef9a3edfc81bd7ea8c0c37cbd11447201f075a2353774ae177cbba88ea679)
set(QT_HASH_qt5-translations b13dabbebf380ff57e7c9cf9cfe3edfa38c888b4dda7359b5326606ca76fbb86cc742420eb30c507c322b9c9e7f05f9d92f1a792e9d2530886493c7dae2df087)
set(QT_HASH_qt5-virtualkeyboard 584c63f5c79122452ce9e424187ec76daa8263f16da14c08de6026e81c8cfe93cece62101fe1a57a07f4905bc743340a295f7669bd9f739c7c156935aa585ff8)
set(QT_HASH_qt5-wayland b14c7e0b7a58ae258bd440b68ee7322bfa918d95bf8fac4509e7e2636c21e4576a022a6707383eda37ace1943dccb0eacd9eccacd04806494d2f44a0c59b0dec)
set(QT_HASH_qt5-webchannel 6d616f4143ee34eeab361eba86d2bcdd1a502b6290813ad0053163cd4ee1d1e7f2a0903b82d8632050bdab710d28c7b06d6a3bcf30ce1db398dcb78ebe014389)
set(QT_HASH_qt5-webengine f3f8a6e9b43e9a58a0b44777fd3333a621365f7cfe323207dfafdefe41f572a58b03ae9c00ab57cbd554d9d71c09d071b93841557099205d4b6dc474921bbfdf)
set(QT_HASH_qt5-webglplugin 8642312b0805fec4ab860fb0889887ac4f4a8e87016253249f6de1c2064acc7622c7ec5230816b732713499c8cad59f5dee0485ce3efd750d349ab2ae0da0337)
set(QT_HASH_qt5-websockets 59afb4a8992b3fd1ca50f26a5ae13b0ffd79ac321475963cfdc7e64ef7a1a070b8eee1052d1cff26fa0c3bda1d8bbb2849e8e84b4c15f1b4ba936cb54a6f4014)
set(QT_HASH_qt5-webview d1bb3be0df0a9c3a8bdbd26af3210925f0c8f0985ba702736e79d8a9e0bb49369ec2450376b56369d199763fdcfe7b1f009c985c600d77370029682448304387)
set(QT_HASH_qt5-winextras bfcdeedb17354b43108fc938ad42526bda2c216030b00a07c9d52412d50c831db772691239faf849971c5e28704289221fd8c53aba85e7fef7240195b5d6333b)
set(QT_HASH_qt5-x11extras f66ea15f8eddd75aa396f3b4aba2f9acdb69fe1330c45b973c9e445a089a923ba6290edc5d9608e72ddd0dde9a55f7205ee539abe7846222a9905566133a2700)
set(QT_HASH_qt5-xmlpatterns 45c01b5b0d0345f0dffd0855eb05e8824462dbef729b8c26aa0561d1366395ae3586e03a8f1ce16965bfe57c510b7332c41d7706fc4d5a9683cde58ca77b86cb)
set(QT_HASH_qt5-3d 53825ff0bad5adc73bafbdf426e7209a770860f8e0ac97f89fdf61b07ac2431d54ce8ad2fbcb69ca3c2a5b953d76a3bcc0d236c32c6b45d219ee6fcb582c5974)
set(QT_HASH_qt5-activeqt f5a29d97d35cf634843d9b202e7f4c2d2bafaac4dd9c5df2348858588d9e64ff57726b91a485ce6433e701b04b4ce0c880b847472a3f064ca4dc3d831901ae79)
set(QT_HASH_qt5-androidextras aeca703d1709f6352c83d634b5a52819400b9f5cde9286b2e93120a37604a059f136ac3ccf466df06ff27394038b90522c8f5dfc18473ee176768c66a44159d9)
set(QT_HASH_qt5-base d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206)
set(QT_HASH_qt5-charts 9c4b0d0c7456604048742f0628ecf049217acbb8a4a23c925ef6ce5c47eaf9fbcf6b1aecdcd1113679c9edf8a1635f3ca585acb31fd548f3ab577c5f4e54f3f2)
set(QT_HASH_qt5-connectivity 26f194965090dc44547b46a7ee73d3dc30d3817f213b809f2e2fb9596b2184e5fa276e600d706675ad0f19b0b421c0fc8e52afbc0b6a16eeff00c4c459027dca)
set(QT_HASH_qt5-datavis3d 877b1a15b382d1cfbe32cfbba2d4f7edd8ddc806bc801c23a2f310cc0e892953a63b05fa031f4d1b197013c6da8ea41945ccd2e53f2c1abb33b44414e89eaedf)
set(QT_HASH_qt5-declarative 73c45c47b5074b6bc1127abb1b3cf1cd751deeb80c2f9c86a675c7323fecf20bd83363fad95803bc72cf494ae4679c1f38a02387363f266c093c707e700c9ea2)
set(QT_HASH_qt5-doc fa7a39b69778c96dccff2120544d0bdeccc03bf30c92a0f17bc6aa981ae5ee3589fecb3663a855ccde1a59068dde780fa76790d03e758e267efed5df37ae3cf3)
set(QT_HASH_qt5-gamepad 03d07b4fe07adfad7dc8c3844f16c6f18f023417cefca52b5f833e95d4db47b7b228268d0d2547bc7a77dbc7a7e3174408c026f56126052ef30fbe7c7345014e)
set(QT_HASH_qt5-graphicaleffects 6fff9181d8d0a4f55987e2b219d35adf4db28429206e4ec0572a03664c155aea046a08a1d820fbc5d27f9f3ec4c60768823959c5839766ab2768f64c440273da)
set(QT_HASH_qt5-imageformats 5e8b0895e8b7aa05142ae21eee3f79fb289a8edf6eeed62a59be3ae60d164a2698344740ff283c753e9b61cd6af516d8c7301597762183222ceff0f4c8dddd46)
set(QT_HASH_qt5-location 587e1cc8c8f46ab09ea79c4142dbecc52466dafa94c4bfa61264eba4f202fb5e2979d1ae6ba5fb924376d75764f28b58c7bcc03ab29edef2524aa872adb3c936)
set(QT_HASH_qt5-macextras cc8c10a149c150a7fe422616a1dcf56abfa3c9c0e3f95521bb5c1c1e6873d7f48c547c0c8acacbe3a8e936f048fb687d0913f03b6b7ec27a4087f92f6b389eaf)
set(QT_HASH_qt5-multimedia edebe73911c82ef5671602f895dd1cddcc39b8afb29267be54921848713344d531e49f4cbcfb9a57b095c4e736a9100c245290391102ddccdb08997057a12bd8)
set(QT_HASH_qt5-networkauth f3f9cce52161b77b1e3ebda32444fefed9cff077b9546e0d1b7942b0710e6a8f8681f9c10b521dc56fa3a0020338c59334b6c870420fa1a34a9ae3bbe30dc2d5)
set(QT_HASH_qt5-purchasing e0bdf99a399b52b6195a622202d58191262885808477ab7c977bedc88045fef602cc55ba275adc3a6798951d6c4ff1f0e0af63d0ed95403872c58d9294a57802)
set(QT_HASH_qt5-quick3d 4b1669a5499b23bc76b959340890d6690cd12ba39b3157a7a8499d44065ca5d258e45e9758c94b5959f02956b7b3f04e0095aace3e46552ad697ae11cc5e24e5)
set(QT_HASH_qt5-quickcontrols 9bd2bcd119d162f8ef30b2e1f459776a66b504f5043809cc0846b7c4898ca464eb44f65d1c76d3857a12eef7126ec8a84f8ac3566b5c3200b65572a3ff9296f7)
set(QT_HASH_qt5-quickcontrols2 29d0904c949b4970eae576d20f94b5c92f1fcb71056bb085b6ea8421c894aa265ae9a5cdbd6e21ac849f14385833ed2961a18dcc2c66ea6ed8a28feb51bd7375)
set(QT_HASH_qt5-quicktimeline 730a8c5080510175d3e62919a31bda78e5eeb32bbbd0087be46a1576278684f74a522a5615d8d5fe095d2d364a902470c22afd330adba94c7375814a4b29d99a)
set(QT_HASH_qt5-remoteobjects a4357d720a77d09a1d5e38bbd1152f042d4ac902476de83e74834d5d0b9af210618174d988089818ec7787870caeb496af020dfc80e123b86bfb51b7919a14e5)
set(QT_HASH_qt5-script e4cd79deb2cba1f4216acb6744c50540e41c4a56dd37f4f49631cad7b520642292192ddc8b7cff1f741350e4b8b83aae0626ec3c546366bd4bcaf58c7f849923)
set(QT_HASH_qt5-scxml 9ad88607e25b6bf43ae460904a3ccfb3514c6a6b739dfce4799958d5897601370a83f818e706a0270ccab1a995976384553d1bfca74f53f08bda3f9d1b58cf4c)
set(QT_HASH_qt5-sensors cecc4a7d6eeb64d1bd7c1d9d6c23926bca5168ed50ef5197094b296a61e024b62a5aaed6bfa97c84da2d342faf14d15c473646c5c400973be7172e4617824d94)
set(QT_HASH_qt5-serialbus eb2e7d987b9e7f05f8952c3e424b23347c30a274f22acc0714f2769a9c891a12f212a2cd977a09e34b2f93079c7554e8c65425fe403f996a27c5f31e87c63697)
set(QT_HASH_qt5-serialport 4944c4fc03386c635197c9d0fa4550fd05285c9bd36861409e2c5282aeee153baa5bc285be5314a6309026f54058f8bd605be389471a1dd34b3236f3d05131ec)
set(QT_HASH_qt5-speech f3a9e4782532ee62c455eda6e63a25e49392ea4cbb7e6801e6eb1bb9d58e9bd802769e26811c8afcebc0c6e106fe7d3c56b69ea83c28c1d89603ecc228c1c919)
set(QT_HASH_qt5-svg 2c599bdd0b82eeb969233bac7cb5d53896d3d873ee37b72fead0c3ef38feaef84c8e0a42425ce3ae185ca0f4d8f4590ec95829fc815bda65dd546d1697de8493)
set(QT_HASH_qt5-tools 30a278df553ff3bb64927a4a5be0370b070131ec2970410095b4618e6a0f6e7c45374abf37c458b69dd9e4f7cecb98289b8e777cf5bc85b09f0b5cd278a40a70)
set(QT_HASH_qt5-translations 52a1ca84c01c4a2728d1b7a3168c8d6ffd12f8e8528d729b422d9339a01dcbcb5a768999a252b28b6f4041eb20f874fe74c0389724c54a09ec9dfe42312b4af9)
set(QT_HASH_qt5-virtualkeyboard f7dd1365e45b7ed5f5f942abc6e4a1ea964955d9836bcfabed2c6de9669bcc47693c09370dd917e244bcaefe68cdcb06a985c798dcd612aafb03c1ebfca5b536)
set(QT_HASH_qt5-wayland 9e0d07a4a91eb6dd1bde6b211bae2b64f2035a28176c277adb86ab5d3a281c7740930dc304db94990c1d2277ef54d17b934f99326413719626fb161b612c033f)
set(QT_HASH_qt5-webchannel fb867510da8b74cac277598e346c5eed7bbaaa6b1be85c39b804a07209922ccdc87e314d9ced4eeb966cc06888127772dff517a8f6fef10c8e87080a59112bfa)
set(QT_HASH_qt5-webengine 731e9b01746efa0696bc89299fa4847157077bd21567a9d3358006d6bb7dddbadea5c085f9dfae12279e41619b4751d1d0009bfd0ee4f9ceab3bd1a567831ed2)
set(QT_HASH_qt5-webglplugin 63a05f522e44b2fdefc5394faeb3619f596dd62c59d6e5f0e27ea32560f8ec3e8b6906b78607664f3b392b68dc69c5266a9d398860bdef6153f33fa29acfc49a)
set(QT_HASH_qt5-websockets 29b59fe6681030150b87d18a052f00f05ac17db17203279d794a8161783d739938e9ea659519f7b7c76f3d7e40009ea1797e255ae464a1cd641caa6c039d4777)
set(QT_HASH_qt5-webview 5dc6ae1b648a66572947f36d4e668b3219d7c40f9b455871fb673268de24b0d7e84075b6bcd4aa1cb72ec6a6bd3519344a66e2481b783786df6a613aacfacac0)
set(QT_HASH_qt5-winextras 608f6bcc6c1d259c096da3f2142e24c71d907e4af7f2107190521d7c977692061d1002ca0053511197cb96a00fd99208f8dee3b7510549fd3be5a397e7fc00b8)
set(QT_HASH_qt5-x11extras 7e12f87da4a2c8333adc09f0069cfdbb6b81e778b0e261b13a8631a90bc21deb831fc4d74229e977afa864919ef6dbe98fc37ef29eeffee52cacef21af4216f7)
set(QT_HASH_qt5-xmlpatterns 2c1f1ec6c2a70a2151259a290675b15e44475f19afa46f396b4cd511e3aeb7cd83fffd7d76ddde31817c5f2e944dcd32587550713aed34aac9585f3eeef7e39b)
if(QT_UPDATE_VERSION)
message(STATUS "Running Qt in automatic version port update mode!")

View File

@@ -1,136 +0,0 @@
diff --git a/src/network/access/qhttp2protocolhandler.cpp b/src/network/access/qhttp2protocolhandler.cpp
index d1b5dfda2e2..ee04a1856c6 100644
--- a/src/network/access/qhttp2protocolhandler.cpp
+++ b/src/network/access/qhttp2protocolhandler.cpp
@@ -375,12 +375,12 @@ bool QHttp2ProtocolHandler::sendRequest()
}
}
- if (!prefaceSent && !sendClientPreface())
- return false;
-
if (!requests.size())
return true;
+ if (!prefaceSent && !sendClientPreface())
+ return false;
+
m_channel->state = QHttpNetworkConnectionChannel::WritingState;
// Check what was promised/pushed, maybe we do not have to send a request
// and have a response already?
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index bd2f32e3528..6f3bd807a09 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -255,6 +255,10 @@ void QHttpNetworkConnectionChannel::abort()
bool QHttpNetworkConnectionChannel::sendRequest()
{
Q_ASSERT(!protocolHandler.isNull());
+ if (waitingForPotentialAbort) {
+ needInvokeSendRequest = true;
+ return false; // this return value is unused
+ }
return protocolHandler->sendRequest();
}
@@ -267,21 +271,28 @@ bool QHttpNetworkConnectionChannel::sendRequest()
void QHttpNetworkConnectionChannel::sendRequestDelayed()
{
QMetaObject::invokeMethod(this, [this] {
- Q_ASSERT(!protocolHandler.isNull());
if (reply)
- protocolHandler->sendRequest();
+ sendRequest();
}, Qt::ConnectionType::QueuedConnection);
}
void QHttpNetworkConnectionChannel::_q_receiveReply()
{
Q_ASSERT(!protocolHandler.isNull());
+ if (waitingForPotentialAbort) {
+ needInvokeReceiveReply = true;
+ return;
+ }
protocolHandler->_q_receiveReply();
}
void QHttpNetworkConnectionChannel::_q_readyRead()
{
Q_ASSERT(!protocolHandler.isNull());
+ if (waitingForPotentialAbort) {
+ needInvokeReadyRead = true;
+ return;
+ }
protocolHandler->_q_readyRead();
}
@@ -1289,7 +1300,18 @@ void QHttpNetworkConnectionChannel::_q_encrypted()
// Similar to HTTP/1.1 counterpart below:
const auto &pairs = spdyRequestsToSend.values(); // (request, reply)
const auto &pair = pairs.first();
+ waitingForPotentialAbort = true;
emit pair.second->encrypted();
+
+ // We don't send or handle any received data until any effects from
+ // emitting encrypted() have been processed. This is necessary
+ // because the user may have called abort(). We may also abort the
+ // whole connection if the request has been aborted and there is
+ // no more requests to send.
+ QMetaObject::invokeMethod(this,
+ &QHttpNetworkConnectionChannel::checkAndResumeCommunication,
+ Qt::QueuedConnection);
+
// In case our peer has sent us its settings (window size, max concurrent streams etc.)
// let's give _q_receiveReply a chance to read them first ('invokeMethod', QueuedConnection).
QMetaObject::invokeMethod(connection, "_q_startNextRequest", Qt::QueuedConnection);
@@ -1307,6 +1329,26 @@ void QHttpNetworkConnectionChannel::_q_encrypted()
}
}
+void QHttpNetworkConnectionChannel::checkAndResumeCommunication()
+{
+ Q_ASSERT(connection->connectionType() > QHttpNetworkConnection::ConnectionTypeHTTP);
+
+ // Because HTTP/2 requires that we send a SETTINGS frame as the first thing we do, and respond
+ // to a SETTINGS frame with an ACK, we need to delay any handling until we can ensure that any
+ // effects from emitting encrypted() have been processed.
+ // This function is called after encrypted() was emitted, so check for changes.
+
+ if (!reply && spdyRequestsToSend.isEmpty())
+ abort();
+ waitingForPotentialAbort = false;
+ if (needInvokeReadyRead)
+ _q_readyRead();
+ if (needInvokeReceiveReply)
+ _q_receiveReply();
+ if (needInvokeSendRequest)
+ sendRequest();
+}
+
void QHttpNetworkConnectionChannel::requeueSpdyRequests()
{
QList<HttpMessagePair> spdyPairs = spdyRequestsToSend.values();
diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h
index 6be0c51f9fe..613fda7bc31 100644
--- a/src/network/access/qhttpnetworkconnectionchannel_p.h
+++ b/src/network/access/qhttpnetworkconnectionchannel_p.h
@@ -107,6 +107,10 @@ public:
QAbstractSocket *socket;
bool ssl;
bool isInitialized;
+ bool waitingForPotentialAbort = false;
+ bool needInvokeReceiveReply = false;
+ bool needInvokeReadyRead = false;
+ bool needInvokeSendRequest = false;
ChannelState state;
QHttpNetworkRequest request; // current request, only used for HTTP
QHttpNetworkReply *reply; // current reply for this request, only used for HTTP
@@ -187,6 +191,8 @@ public:
void closeAndResendCurrentRequest();
void resendCurrentRequest();
+ void checkAndResumeCommunication();
+
bool isSocketBusy() const;
bool isSocketWriting() const;
bool isSocketWaiting() const;

View File

@@ -51,8 +51,7 @@ endif()
qt_download_submodule( OUT_SOURCE_PATH SOURCE_PATH
PATCHES
# CVE fixes from https://download.qt.io/official_releases/qt/5.15/
patches/CVE-2024-39936-qtbase-5.15.patch
# CVE fixes from https://download.qt.io/archive/qt/5.15/
patches/CVE-2025-4211-qtbase-5.15.diff
patches/CVE-2025-5455-qtbase-5.15.patch
patches/CVE-2025-30348-qtbase-5.15.diff

View File

@@ -1,7 +1,6 @@
{
"name": "qt5-base",
"version": "5.15.17",
"port-version": 2,
"version": "5.15.18",
"description": "Qt Base provides the basic non-GUI functionality required by all Qt applications.",
"homepage": "https://www.qt.io/",
"license": null,

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-charts",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt Charts module provides a set of easy to use chart components.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-connectivity",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt Connectivity module provides access to Bluetooth and NFC hardware.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-datavis3d",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt Data Visualization module provides a way to visualize data in 3D as bar, scatter, and surface graphs.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-declarative",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt Declarative (Quick 2)",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-doc",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt documentation.",
"license": null,
"supports": "native",

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-gamepad",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt Gamepad is an add-on library that enables Qt applications to support the use of gamepad hardware and in some cases remote control equipment.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-graphicaleffects",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt Graphical Effects module provides a set of QML types for adding visually impressive and configurable effects to user interfaces.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-imageformats",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt Image Formats add-on module provides optional support for other image file formats.",
"license": null,
"dependencies": [

View File

@@ -1,7 +1,6 @@
{
"name": "qt5-location",
"version": "5.15.17",
"port-version": 2,
"version": "5.15.18",
"description": "The Qt Location API helps you create viable mapping solutions using the data available from some of the popular location services.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-macextras",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt Mac Extras provide classes and functions that enable you to use miscellaneous functionality specific to the macOS and iOS operating systems.",
"license": null,
"supports": "osx",

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-multimedia",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt Multimedia is an essential module that provides a rich set of QML types and C++ classes to handle multimedia content. It also provides necessary APIs to access the camera and radio functionality.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-networkauth",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt Network Authorization provides a set of APIs that enable Qt applications to obtain limited access to online accounts and HTTP services without exposing users' passwords.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-purchasing",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt Purchasing is an add-on library that enables Qt applications to support in-app purchases. It is a cross-platform library that currently supports purchases made to the Mac App Store on OS X, App Store on iOS, and Google Play on Android.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-quickcontrols",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt Quick Controls module provides a set of controls that can be used to build complete interfaces in Qt Quick.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-quickcontrols2",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt Quick Controls provides a set of controls that can be used to build complete interfaces in Qt Quick.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-remoteobjects",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt Remote Objects (QtRO) is an Inter-Process Communication (IPC) module developed for Qt. This module extends Qt's existing functionalities to enable information exchange between processes or computers, easily.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-script",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt Script provides support for application scripting with ECMAScript.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-scxml",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt SCXML module provides classes for embedding state machines created from State Chart XML (SCXML) files in Qt applications.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-sensors",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt Sensors API provides access to sensor hardware via QML and C++ interfaces. The Qt Sensors API also provides a motion gesture recognition API for devices.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-serialbus",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt Serial Bus API provides classes and functions to access the various industrial serial buses and protocols, such as CAN, ModBus, and others.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-serialport",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt5 Serial Port - provides access to hardware and virtual serial ports",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-speech",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt Speech module enables a Qt application to support accessibility features such as text-to-speech, which is useful for end-users who are visually challenged or cannot access the application for whatever reason.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-svg",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt SVG provides classes for rendering and displaying SVG drawings in widgets and on other paint devices.",
"license": null,
"dependencies": [

View File

@@ -1,7 +1,6 @@
{
"name": "qt5-tools",
"version": "5.15.17",
"port-version": 1,
"version": "5.15.18",
"description": "A collection of tools and utilities that come with the Qt framework to assist developers in the creation, management, and deployment of Qt applications.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-translations",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt translations.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-virtualkeyboard",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt Virtual Keyboard project provides an input framework and reference keyboard frontend for Qt 5 on Linux Desktop/X11, Windows Desktop, and Boot2Qt targets.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-wayland",
"version": "5.15.17",
"version": "5.15.18",
"description": "QtWayland is a Qt 5 module that wraps the functionality of Wayland.",
"license": null,
"supports": "linux",

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-webchannel",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt WebChannel enables peer-to-peer communication between a server (QML/C++ application) and a client (HTML/JavaScript or QML application).",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-webengine",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt WebEngine provides functionality for rendering regions of dynamic web content.",
"license": null,
"supports": "!static",

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-webglplugin",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt WebGL Plugin module enables Qt applications to be run in web browsers through WebGL streaming.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-websockets",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt WebSockets module provides C++ and QML interfaces that enable Qt applications to act as a server that can process WebSocket requests, or a client that can consume data received from the server, or both.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-webview",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt WebView provides a way to display web content in a QML application without necessarily including a full web browser stack by using native APIs where it makes sense.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-winextras",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt Windows Extras provide classes and functions that enable you to use miscellaneous Windows-specific functions. For example, you can convert Qt objects to Windows object handles and manipulate DWM glass frames.",
"license": null,
"supports": "windows",

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-x11extras",
"version": "5.15.17",
"version": "5.15.18",
"description": "Qt X11 Extras enables the Qt programmer to write applications for the Linux/X11 platform.",
"license": null,
"supports": "!windows",

View File

@@ -1,6 +1,6 @@
{
"name": "qt5-xmlpatterns",
"version": "5.15.17",
"version": "5.15.18",
"description": "The Qt XML Patterns module provides support for XPath, XQuery, XSLT, and XML Schema validation.",
"license": null,
"dependencies": [

View File

@@ -1,6 +1,6 @@
{
"name": "qt5",
"version": "5.15.17",
"version": "5.15.18",
"description": "A cross-platform application and UI framework.",
"homepage": "https://www.qt.io/",
"license": null,

View File

@@ -7893,63 +7893,63 @@
"port-version": 0
},
"qt5": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-3d": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-activeqt": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-androidextras": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-base": {
"baseline": "5.15.17",
"port-version": 2
"baseline": "5.15.18",
"port-version": 0
},
"qt5-charts": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-connectivity": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-datavis3d": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-declarative": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-doc": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-gamepad": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-graphicaleffects": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-imageformats": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-location": {
"baseline": "5.15.17",
"port-version": 2
"baseline": "5.15.18",
"port-version": 0
},
"qt5-macextras": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-modularscripts": {
@@ -7961,15 +7961,15 @@
"port-version": 0
},
"qt5-multimedia": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-networkauth": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-purchasing": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-quick3d": {
@@ -7977,11 +7977,11 @@
"port-version": 0
},
"qt5-quickcontrols": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-quickcontrols2": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-quicktimeline": {
@@ -7989,83 +7989,83 @@
"port-version": 0
},
"qt5-remoteobjects": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-script": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-scxml": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-sensors": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-serialbus": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-serialport": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-speech": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-svg": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-tools": {
"baseline": "5.15.17",
"port-version": 1
"baseline": "5.15.18",
"port-version": 0
},
"qt5-translations": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-virtualkeyboard": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-wayland": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-webchannel": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-webengine": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-webglplugin": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-websockets": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-webview": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-winextras": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-x11extras": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5-xmlpatterns": {
"baseline": "5.15.17",
"baseline": "5.15.18",
"port-version": 0
},
"qt5compat": {

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "7d61338e48f5b9a880a0a4e7208c70ff18ed4d4c",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "451358dcd8293f8fb38d088d6cf7f3e0c7be4d0a",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "fb4f559af2589eef1f845bd7729d27b1b2dc7de6",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "f0f79c438e1be5143564116b83a0dcf784d7e7b3",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "9765e11f488e48d5b091abc65f8fdfef7f7449be",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "0f22b29126cee3109ca2b378d5451c8f2d0f48d3",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "a65fdb65044dd17fea018dc2e1190aeb078d22f5",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "18f8915d90a0971f569cdc43e050b92c176d7eaf",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "66efbd821a2683a2dc18dac17b9ada0438c89b32",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "19f66b34007cedfb495dfd5e0571c363a45be5e6",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "e549744417b79b0a17e9a0005f1c656c8fe6f06b",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "a0c206f69bf495e8234137c888dbe196927b999f",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "beb09e0e872c6d1437404e4b1f035ed1dfcbf674",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "c433ff45bfeab7168f8c3c86b456c0fa51a7c9a8",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "25e69d1575c17727384a03b8a85ce3e437893198",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "d86693f2a66ae2a488f1664f79831907983f1dd5",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "b9b6895227eeaa38ead930138cce1826eb778b98",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "0caca6302e45db532ce3ebb6a49edbe55d012267",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "74c012900994a32d3ba15a60ca24a7707613d488",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "c34c2d8f0011e509c17795f7c269bf4b8b16d314",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "03992b3f51c1985d3248c8982147faf369d861b5",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "65798a0ba62b7453d2e4112ff0a5579cf2c4fa5c",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c4c7d3d21b46729c373c686b692967d5418c2522",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "5de7ac2cf0e66524c59db9a411ff9f7ee4811b45",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "ccaf8afa9acaef7eef71d8dcbd7e4963782065c5",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "d03253f37ad4ce2e94e006171001b6aacc9f0b20",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "62c1d1426de600478d060426915f2f454120bf5a",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "3c95f19c0ed81bde29ba04b13393ab7503c3e0ca",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "12c7e6b34060b424eff67f205d19d07150652e60",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "fdadbd54c3afcd33692be23ce1745bbc8e5203b9",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "6c79766932789b262eef96640c2552bf5a301b2d",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "8c9344d60cfdc2f237c5d49fd67708f412793711",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "8cd001ee64299bd4ab50d2f92ad5cd0b3b796c5e",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "2cdd278a77e8913ad158bead2289eddd7e4fa49e",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c6d74e97c9d6c34ce44ac47c2754e725a97e0fe2",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "db450ae4bfe05286f9f36361d0e702c2feea7ae2",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "cc7bc567a1e6bbe49faf4945624b49fd5e5c1952",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "9ab212fa50eccd420fb5c17527a6d686399b60ac",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "7b222694460da3f39ccdec920c6ebfa10c67dc07",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "6d966279feac0edd1fe814ccf7df3b2f82b92288",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "bfe3bf5a36877a0e03bccce82ed490aca708eddd",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "de3b51bb156101996153538b4b8d8b3d8ebb307a",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "5a1640ab751732ed87b6ac339b6ccfffdcfaad8c",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "b0c52f6b4ef9119367a5866ff4859721bc7b830a",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "b0f19190cd99d94d2095cad3217981fcfb62854a",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "eb4173335b0146cdc4c861587a0bdc5b015a26d8",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "e07446b1afac814fc159f9991e54e5d7a1c2335b",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "49bfbf6d4d3db2a872cc04630620064589af3df1",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "b7de283033c0006b47a06e6e15a7d0b3df961f33",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "fbc9af0c0600fd716c0264ecefc3032fcacffbb2",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "1a2114345e8517bd312390dc268fc962fe81c898",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "5203d09677488455e6441eb10f212529f8b89a30",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "3c75f3655ca64be9456fb58447ee7617cabc8896",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "fb56b0e565d1f165a127c641255216da24925a14",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "68cee8363bbcbad3fa52304f7bea392fc30d8cf6",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "a7d073db6022de57bf6c0e24e53514e1f0624abf",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "bb8f1f0d51e34981a3f54493267c706e656622d8",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "28428dcdcdfeed6529ccb3b374c5eb49fb9e59fd",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "3e9e76f442f146fd5fd43ce02a4d08a8798ec3cf",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "8b59bed7fce0c717bf421aa172a8c9bc76a90297",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "692e89e4491fabcd06a33f987b3494a562c601c2",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "d6f93e1f06a3101c5f37e75c139d6fb5b9b24aaa",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "9ae4177ab38bd7a8dd5ef43789a687db6b7cdb74",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "a3c7908a0cb4f6e0ce71e1c9628a7c308dbd2690",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "5dffd3752ccd4155135e7d0365032ea8e1c8afdb",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "9beec0928dbddfb61010e6d52eb3025200f6a61c",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "15404fd63718d7bfdbc03fcf5967a9c3f5436cae",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "e505f8e87f19483a8db3e8b282a28edd4ccb8d87",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "0c0ba331dad2eafa5c67c59ee6b7b9fb080125bb",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "f4a35eea94ef19ea4f531dc71379056699a38e0c",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "64eb91083b534828199c17c46f6c188339b45ceb",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "4d207991c04c3dc9746f3880decdc3a42f136f0d",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "86321194aa485e7dc21ea1b9b045cbc1f52c4fbe",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "327ad09e02d9667a571bd659319c234953952cd1",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "27bde664e7cbe5f8ff07081863a271023792a999",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "46735e910f4bea3a68e3299236b0d6d3d57148b3",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "17e4227d82cea644807a5ae61d6183ef87bf4ce4",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "7c9a57d9b380c4cd4a57c5401e11b59db7401e13",
"version": "5.15.17",

View File

@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "fe281ca7926f7b22a9b7b966b32320ab1a10bd38",
"version": "5.15.18",
"port-version": 0
},
{
"git-tree": "0c89fd4343530bfc5cff234572a0238e7c95241e",
"version": "5.15.17",