diff --git a/deps.qt/checksums/qtbase-everywhere-src-6.4.3.tar.xz.sha256 b/deps.qt/checksums/qtbase-everywhere-src-6.4.3.tar.xz.sha256 deleted file mode 100644 index 9651a715f..000000000 --- a/deps.qt/checksums/qtbase-everywhere-src-6.4.3.tar.xz.sha256 +++ /dev/null @@ -1 +0,0 @@ -5087c9e5b0165e7bc3c1a4ab176b35d0cd8f52636aea903fa377bdba00891a60 qtbase-everywhere-src-6.4.3.tar.xz diff --git a/deps.qt/checksums/qtbase-everywhere-src-6.5.2.tar.xz.sha256 b/deps.qt/checksums/qtbase-everywhere-src-6.5.2.tar.xz.sha256 new file mode 100644 index 000000000..bd7211dc3 --- /dev/null +++ b/deps.qt/checksums/qtbase-everywhere-src-6.5.2.tar.xz.sha256 @@ -0,0 +1 @@ +3db4c729b4d80a9d8fda8dd77128406353baff4755ca619177eda4cddae71269 qtbase-everywhere-src-6.5.2.tar.xz diff --git a/deps.qt/checksums/qtimageformats-everywhere-src-6.4.3.tar.xz.sha256 b/deps.qt/checksums/qtimageformats-everywhere-src-6.4.3.tar.xz.sha256 deleted file mode 100644 index 8fdf44df4..000000000 --- a/deps.qt/checksums/qtimageformats-everywhere-src-6.4.3.tar.xz.sha256 +++ /dev/null @@ -1 +0,0 @@ -0aff58062e74b84617c5da8325d8cdad5368d8f4d2a11ceafcd58329fe99b798 qtimageformats-everywhere-src-6.4.3.tar.xz diff --git a/deps.qt/checksums/qtimageformats-everywhere-src-6.5.2.tar.xz.sha256 b/deps.qt/checksums/qtimageformats-everywhere-src-6.5.2.tar.xz.sha256 new file mode 100644 index 000000000..e6281f45f --- /dev/null +++ b/deps.qt/checksums/qtimageformats-everywhere-src-6.5.2.tar.xz.sha256 @@ -0,0 +1 @@ +aae0c08924c6a5e47f9d57e031673d611ffff7aab2bee2e1cc460471ecac6743 qtimageformats-everywhere-src-6.5.2.tar.xz diff --git a/deps.qt/checksums/qtmultimedia-everywhere-src-6.4.3.tar.xz.sha256 b/deps.qt/checksums/qtmultimedia-everywhere-src-6.4.3.tar.xz.sha256 deleted file mode 100644 index 0e659fa62..000000000 --- a/deps.qt/checksums/qtmultimedia-everywhere-src-6.4.3.tar.xz.sha256 +++ /dev/null @@ -1 +0,0 @@ -a4a72469e12da1e59ee032ab2e6677d620a5663c354d0ba88906d2bec1567d00 qtmultimedia-everywhere-src-6.4.3.tar.xz diff --git a/deps.qt/checksums/qtmultimedia-everywhere-src-6.5.2.tar.xz.sha256 b/deps.qt/checksums/qtmultimedia-everywhere-src-6.5.2.tar.xz.sha256 new file mode 100644 index 000000000..94e45ea53 --- /dev/null +++ b/deps.qt/checksums/qtmultimedia-everywhere-src-6.5.2.tar.xz.sha256 @@ -0,0 +1 @@ +948f00aa679e92839a2a71bd07245a92cc849af486607417ee4c334b2b998975 qtmultimedia-everywhere-src-6.5.2.tar.xz diff --git a/deps.qt/checksums/qtshadertools-everywhere-src-6.4.3.tar.xz.sha256 b/deps.qt/checksums/qtshadertools-everywhere-src-6.4.3.tar.xz.sha256 deleted file mode 100644 index 148dbe532..000000000 --- a/deps.qt/checksums/qtshadertools-everywhere-src-6.4.3.tar.xz.sha256 +++ /dev/null @@ -1 +0,0 @@ -c648b74ce3e769a20bd62792a589c540bceacfedf2f38fc7273d2c39782768f8 qtshadertools-everywhere-src-6.4.3.tar.xz diff --git a/deps.qt/checksums/qtshadertools-everywhere-src-6.5.2.tar.xz.sha256 b/deps.qt/checksums/qtshadertools-everywhere-src-6.5.2.tar.xz.sha256 new file mode 100644 index 000000000..f12870ddd --- /dev/null +++ b/deps.qt/checksums/qtshadertools-everywhere-src-6.5.2.tar.xz.sha256 @@ -0,0 +1 @@ +ca3fb0db8576c59b9c38bb4b271cc6e10aebeb54e2121f429f4ee80671fc0a3d qtshadertools-everywhere-src-6.5.2.tar.xz diff --git a/deps.qt/checksums/qtsvg-everywhere-src-6.4.3.tar.xz.sha256 b/deps.qt/checksums/qtsvg-everywhere-src-6.4.3.tar.xz.sha256 deleted file mode 100644 index 59181a677..000000000 --- a/deps.qt/checksums/qtsvg-everywhere-src-6.4.3.tar.xz.sha256 +++ /dev/null @@ -1 +0,0 @@ -88315f886cf81898705e487cedba6e6160724359d23c518c92c333c098879a4a qtsvg-everywhere-src-6.4.3.tar.xz diff --git a/deps.qt/checksums/qtsvg-everywhere-src-6.5.2.tar.xz.sha256 b/deps.qt/checksums/qtsvg-everywhere-src-6.5.2.tar.xz.sha256 new file mode 100644 index 000000000..a911b330a --- /dev/null +++ b/deps.qt/checksums/qtsvg-everywhere-src-6.5.2.tar.xz.sha256 @@ -0,0 +1 @@ +48b4cc1093af2e0ab3bea30f60651bddd877a2335d16e7207879a2e9e81963a3 qtsvg-everywhere-src-6.5.2.tar.xz diff --git a/deps.qt/patches/Qt6/mac/0001-QTBUG-106369.patch b/deps.qt/patches/Qt6/mac/0001-QTBUG-106369.patch deleted file mode 100644 index 8c952f072..000000000 --- a/deps.qt/patches/Qt6/mac/0001-QTBUG-106369.patch +++ /dev/null @@ -1,159 +0,0 @@ -From 441993a9a2e6cb236667ff67e06f1673df06db0a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= -Date: Fri, 10 Mar 2023 13:49:39 +0100 -Subject: [PATCH] macOS: Guard text input client from destroyed QCocoaWindow - -The text input system on macOS may in some cases hold references to our -QNSView, even after we've destroyed the corresponding QCocoaWindow. This -happens e.g. when using the Keyboard Viewer to input text into a dialog, -and then closing the dialog. - -In this situation we get text input callbacks such as selectedRange, -attributedSubstringForProposedRange, firstRectForCharacterRange, and -need to account for the lack of a valid platform window. - -This happens even if NSTextInputContext.currentInputContext has been -updated to the input context of the parent window, and even if we -explicitly deactivate the old input context and return nil for the -input context of the now QCocoaWindow-less QNSView. - -We can combine this situation with the handling of a missing focus -object, so that each callback doesn't need explicit platform window -checks. - -Fixes: QTBUG-106369 -Fixes: QTBUG-111183 -Fixes: QTBUG-105250 -Pick-to: 6.5 6.2 5.15 -Change-Id: I5bc1b9667376c87221fe5007db162224c022c09f -Reviewed-by: Volker Hilsheimer ---- - a/qtbase/src/plugins/platforms/cocoa/qnsview.mm | 1 + - b/qtbase/src/platforms/cocoa/qnsview_complextext.mm | 36 ++++++++++++------- - 2 files changed, 24 insertions(+), 13 deletions(-) - -diff --git a/qtbase/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm -index c574e2b7c8..f8c17e179d 100644 ---- a/qtbase/src/plugins/platforms/cocoa/qnsview.mm -+++ b/qtbase/src/plugins/platforms/cocoa/qnsview.mm -@@ -83,6 +83,7 @@ @interface QNSView (Keys) - @end - - @interface QNSView (ComplexText) -+@property (readonly) QObject* focusObject; - @end - - @implementation QNSView { -diff --git a/qtbase/src/plugins/platforms/cocoa/qnsview_complextext.mm b/src/plugins/platforms/cocoa/qnsview_complextext.mm -index cdeb7154fe..3ccaf8269e 100644 ---- a/qtbase/src/plugins/platforms/cocoa/qnsview_complextext.mm -+++ b/qtbase/src/plugins/platforms/cocoa/qnsview_complextext.mm -@@ -7,6 +7,17 @@ @implementation QNSView (ComplexText) - - // ------------- Text insertion ------------- - -+- (QObject*)focusObject -+{ -+ // The text input system may still hold a reference to our QNSView, -+ // even after QCocoaWindow has been destructed, delivering text input -+ // events to us, so we need to guard for this situation explicitly. -+ if (!m_platformWindow) -+ return nullptr; -+ -+ return m_platformWindow->window()->focusObject(); -+} -+ - /* - Inserts the given text, potentially replacing existing text. - -@@ -52,8 +63,7 @@ - (void)insertText:(id)text replacementRange:(NSRange)replacementRange - } - } - -- QObject *focusObject = m_platformWindow->window()->focusObject(); -- if (queryInputMethod(focusObject)) { -+ if (queryInputMethod(self.focusObject)) { - QInputMethodEvent inputMethodEvent; - - const bool isAttributedString = [text isKindOfClass:NSAttributedString.class]; -@@ -75,7 +85,7 @@ - (void)insertText:(id)text replacementRange:(NSRange)replacementRange - inputMethodEvent.setCommitString(commitString, replaceFrom, replaceLength); - } - -- QCoreApplication::sendEvent(focusObject, &inputMethodEvent); -+ QCoreApplication::sendEvent(self.focusObject, &inputMethodEvent); - } - - m_composingText.clear(); -@@ -86,6 +96,9 @@ - (void)insertNewline:(id)sender - { - Q_UNUSED(sender); - -+ if (!m_platformWindow) -+ return; -+ - // Depending on the input method, pressing enter may - // result in simply dismissing the input method editor, - // without confirming the composition. In other cases -@@ -242,7 +255,7 @@ - (void)setMarkedText:(id)text selectedRange:(NSRange)selectedRange replacementR - // Update the composition, now that we've computed the replacement range - m_composingText = preeditString; - -- if (QObject *focusObject = m_platformWindow->window()->focusObject()) { -+ if (QObject *focusObject = self.focusObject) { - m_composingFocusObject = focusObject; - if (queryInputMethod(focusObject)) { - QInputMethodEvent event(preeditString, preeditAttributes); -@@ -284,8 +297,7 @@ This maps to the location and length of the current preedit (composited) string. - */ - - (NSRange)markedRange - { -- QObject *focusObject = m_platformWindow->window()->focusObject(); -- if (auto queryResult = queryInputMethod(focusObject, Qt::ImAbsolutePosition)) { -+ if (auto queryResult = queryInputMethod(self.focusObject, Qt::ImAbsolutePosition)) { - int absoluteCursorPosition = queryResult.value(Qt::ImAbsolutePosition).toInt(); - - // The cursor position as reflected by Qt::ImAbsolutePosition is not -@@ -320,7 +332,7 @@ - (void)unmarkText - << "for focus object" << m_composingFocusObject; - - if (!m_composingText.isEmpty()) { -- QObject *focusObject = m_platformWindow->window()->focusObject(); -+ QObject *focusObject = self.focusObject; - if (queryInputMethod(focusObject)) { - QInputMethodEvent e; - e.setCommitString(m_composingText); -@@ -393,8 +405,7 @@ - (void)doCommandBySelector:(SEL)selector - */ - - (NSRange)selectedRange - { -- QObject *focusObject = m_platformWindow->window()->focusObject(); -- if (auto queryResult = queryInputMethod(focusObject, -+ if (auto queryResult = queryInputMethod(self.focusObject, - Qt::ImCursorPosition | Qt::ImAbsolutePosition | Qt::ImAnchorPosition)) { - - // Unfortunately the Qt::InputMethodQuery values are all relative -@@ -441,8 +452,7 @@ - (NSRange)selectedRange - */ - - (NSAttributedString *)attributedSubstringForProposedRange:(NSRange)range actualRange:(NSRangePointer)actualRange - { -- QObject *focusObject = m_platformWindow->window()->focusObject(); -- if (auto queryResult = queryInputMethod(focusObject, -+ if (auto queryResult = queryInputMethod(self.focusObject, - Qt::ImAbsolutePosition | Qt::ImTextBeforeCursor | Qt::ImTextAfterCursor)) { - const int absoluteCursorPosition = queryResult.value(Qt::ImAbsolutePosition).toInt(); - const QString textBeforeCursor = queryResult.value(Qt::ImTextBeforeCursor).toString(); -@@ -478,8 +488,8 @@ - (NSRect)firstRectForCharacterRange:(NSRange)range actualRange:(NSRangePointer) - Q_UNUSED(range); - Q_UNUSED(actualRange); - -- QWindow *window = m_platformWindow->window(); -- if (queryInputMethod(window->focusObject())) { -+ QWindow *window = m_platformWindow ? m_platformWindow->window() : nullptr; -+ if (window && queryInputMethod(window->focusObject())) { - QRect cursorRect = qApp->inputMethod()->cursorRectangle().toRect(); - cursorRect.moveBottomLeft(window->mapToGlobal(cursorRect.bottomLeft())); - return QCocoaScreen::mapToNative(cursorRect); --- -2.37.1 (Apple Git-137.1) - diff --git a/deps.qt/patches/Qt6/mac/0002-QTBUG-56064.patch b/deps.qt/patches/Qt6/mac/0002-QTBUG-56064.patch deleted file mode 100644 index 2e9b64a32..000000000 --- a/deps.qt/patches/Qt6/mac/0002-QTBUG-56064.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9f44553b3d297f7a423c51451c4e18c0e5a25d19 Mon Sep 17 00:00:00 2001 -From: Sebastian Beckmann -Date: Wed, 29 Mar 2023 04:20:38 +0200 -Subject: [PATCH] QComboBox: Disable items marked as disabled in native popups - -Fixes: QTBUG-56064 -Pick-to: 6.5 6.2 5.15 -Change-Id: I00a17a19b4c14c874e16ec863e794218f0570346 -Reviewed-by: Volker Hilsheimer ---- - a/qtbase/src/widgets/widgets/qcombobox.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/qtbase/src/widgets/widgets/qcombobox.cpp b/qtbase/src/widgets/widgets/qcombobox.cpp -index 80206b24acb..7c99e8983c6 100644 ---- a/qtbase/src/widgets/widgets/qcombobox.cpp -+++ b/qtbase/src/widgets/widgets/qcombobox.cpp -@@ -2501,10 +2501,12 @@ bool QComboBoxPrivate::showNativePopup() - QVariant textVariant = model->data(rowIndex, Qt::EditRole); - item->setText(textVariant.toString()); - QVariant iconVariant = model->data(rowIndex, Qt::DecorationRole); -+ const Qt::ItemFlags itemFlags = model->flags(rowIndex); - if (iconVariant.canConvert()) - item->setIcon(iconVariant.value()); - item->setCheckable(true); - item->setChecked(i == currentIndex); -+ item->setEnabled(itemFlags & Qt::ItemIsEnabled); - if (!currentItem || i == currentIndex) - currentItem = item; - diff --git a/deps.qt/qt6.zsh b/deps.qt/qt6.zsh index 7fd4f4590..b62da82f2 100644 --- a/deps.qt/qt6.zsh +++ b/deps.qt/qt6.zsh @@ -2,15 +2,9 @@ autoload -Uz log_debug log_error log_info log_status log_output ## Dependency Information local name='qt6' -local version=6.4.3 -local url='https://download.qt.io/official_releases/qt/6.4/6.4.3' +local version=6.5.2 +local url='https://download.qt.io/official_releases/qt/6.5/6.5.2' local hash="${0:a:h}/checksums" -local -a patches=( - "macos ${0:a:h}/patches/Qt6/mac/0001-QTBUG-106369.patch \ - f96ce8408b03e752708c606df10d6473aeed78843a6acb0a90c05f0a9fc913af" - "macos ${0:a:h}/patches/Qt6/mac/0002-QTBUG-56064.patch \ - 08a2e4f384d21e169d6ddb6e37084bc8b8701bb3e6a675b76843784a88250ad7" -) local -a qt_components=( 'qtbase'