commit:     c30a0900c5d3be4d07c71c66e9580058df24f1a7
Author:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 28 17:21:56 2025 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Thu Aug 28 17:50:42 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c30a0900

app-emulation/virtualbox: fix freeze with recent versions of QT

Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>

 .../files/virtualbox-7.2.0-fix-qt-freeze.patch     | 29 ++++++++++++++++++++++
 ...box-7.2.0.ebuild => virtualbox-7.2.0-r1.ebuild} |  2 ++
 2 files changed, 31 insertions(+)

diff --git 
a/app-emulation/virtualbox/files/virtualbox-7.2.0-fix-qt-freeze.patch 
b/app-emulation/virtualbox/files/virtualbox-7.2.0-fix-qt-freeze.patch
new file mode 100644
index 000000000000..52220491aad2
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-7.2.0-fix-qt-freeze.patch
@@ -0,0 +1,29 @@
+https://github.com/VirtualBox/virtualbox/issues/70#issuecomment-3233251540
+
+Fix freeze with QT 6.9
+
+--- a/src/VBox/Frontends/VirtualBox/src/globals/UITranslationEventListener.cpp
++++ b/src/VBox/Frontends/VirtualBox/src/globals/UITranslationEventListener.cpp
+@@ -81,7 +81,8 @@
+            && pEvent->type() == QEvent::LanguageChange
+            && pObject == qApp)
+     {
+-        emit sigRetranslateUI();
++        /* Send translation signal asynchronously: */
++        QMetaObject::invokeMethod(this, "sltRetranslateUI", 
Qt::QueuedConnection);
+     }
+     /* Call to base-class: */
+     return QObject::eventFilter(pObject, pEvent);
+--- a/src/VBox/Frontends/VirtualBox/src/globals/UITranslationEventListener.h
++++ b/src/VBox/Frontends/VirtualBox/src/globals/UITranslationEventListener.h
+@@ -55,6 +55,10 @@
+ 
+     bool eventFilter(QObject *pObject, QEvent *pEvent) RT_OVERRIDE RT_FINAL;
+ 
++private slots:
++
++    void sltRetranslateUI() { emit sigRetranslateUI(); }
++
+ private:
+ 
+     UITranslationEventListener(QObject *pParent = 0);

diff --git a/app-emulation/virtualbox/virtualbox-7.2.0.ebuild 
b/app-emulation/virtualbox/virtualbox-7.2.0-r1.ebuild
similarity index 99%
rename from app-emulation/virtualbox/virtualbox-7.2.0.ebuild
rename to app-emulation/virtualbox/virtualbox-7.2.0-r1.ebuild
index ed7f9627c4ee..f75d69ba4e16 100644
--- a/app-emulation/virtualbox/virtualbox-7.2.0.ebuild
+++ b/app-emulation/virtualbox/virtualbox-7.2.0-r1.ebuild
@@ -200,6 +200,8 @@ REQUIRED_USE="
 PATCHES=(
        # Downloaded patchset
        "${WORKDIR}"/virtualbox-patches-${PATCHES_PV}/patches
+
+       "${FILESDIR}"/${P}-fix-qt-freeze.patch
 )
 
 pkg_pretend() {

Reply via email to