commit 7f0eddbc66a59ab4712515221a237d3e5dd5e8c0
Author: Sérgio M. Basto <sergio(a)serjux.com>
Date: Mon May 3 22:51:20 2021 +0100
Fix picker dialog with patch from OpenSuse (rfbz #5929)
VirtualBox.spec | 9 +-
vb-6.1.16-modal-dialog-parent.patch | 158 ++++++++++++++++++++++++++++++++++++
vbox-fix-file-picker.patch | 11 ---
3 files changed, 164 insertions(+), 14 deletions(-)
---
diff --git a/VirtualBox.spec b/VirtualBox.spec
index f9647fc..b04f5ff 100644
--- a/VirtualBox.spec
+++ b/VirtualBox.spec
@@ -46,7 +46,7 @@
Name: VirtualBox
Version: 6.1.22
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: A general-purpose full virtualizer for PC hardware
License: GPLv2 or (GPLv2 and CDDL)
@@ -98,10 +98,10 @@ Patch60: VirtualBox-5.2.10-xclient.patch
Patch70: vbox-python-detection.diff
Patch71: fixes_for_Qt5.11to15.patch
Patch72: virtualbox-snpritnf-buffer-overflow.patch
+Patch73: vb-6.1.16-modal-dialog-parent.patch
Patch80: VirtualBox-6.1.4-gcc10.patch
Patch86: VirtualBox-6.1.0-VBoxRem.patch
-Patch87: vbox-fix-file-picker.patch
Patch88: VirtualBox-lzf.patch
BuildRequires: kBuild >= 0.1.9998.r3093
@@ -347,9 +347,9 @@ rm -r src/libs/zlib-1.2.*/
%patch70 -p1 -b .python-detection
%patch71 -p1 -b .qt
%patch72 -p1 -b .snpritnf-buffer-overflow
+%patch73 -p1 -b .modal-dialog-parent
%patch80 -p1 -b .gcc10
%patch86 -p1 -b .vboxrem
-%patch87 -p1 -b .fix-file-picker
%patch88 -p1 -b .lzf
@@ -906,6 +906,9 @@ getent passwd vboxadd >/dev/null || \
%{_datadir}/%{name}-kmod-%{version}
%changelog
+* Mon May 03 2021 Sérgio Basto <sergio(a)serjux.com> - 6.1.22-2
+- Fix picker dialog with patch from OpenSuse (rfbz #5929)
+
* Thu Apr 29 2021 Sérgio Basto <sergio(a)serjux.com> - 6.1.22-1
- Update VirtualBox to 6.1.22
- wsimport is not loading on Fedora rawhide so we can't build webservice until have a
fix
diff --git a/vb-6.1.16-modal-dialog-parent.patch b/vb-6.1.16-modal-dialog-parent.patch
new file mode 100644
index 0000000..05d91ba
--- /dev/null
+++ b/vb-6.1.16-modal-dialog-parent.patch
@@ -0,0 +1,158 @@
+Index:
VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp
+===================================================================
+---
VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp
++++
VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp
+@@ -16,6 +16,7 @@
+ */
+
+ /* Qt includes: */
++#include <QApplication>
+ #include <QHeaderView>
+ #include <QMenu>
+ #ifdef VBOX_WS_WIN
+@@ -295,7 +296,7 @@ void UIGlobalSettingsExtension::sltAddPa
+ extensions << QString("*.%1").arg(VBoxExtPackFileExts[i]);
+ const QString strFilter = tr("Extension package files
(%1)").arg(extensions.join(" "));
+
+- const QStringList fileNames = QIFileDialog::getOpenFileNames(strBaseFolder,
strFilter, this, strTitle, 0, true, true);
++ const QStringList fileNames = QIFileDialog::getOpenFileNames(strBaseFolder,
strFilter, QApplication::activeWindow(), strTitle, 0, true, true);
+
+ QString strFilePath;
+ if (!fileNames.isEmpty())
+Index:
VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/widgets/UIFilePathSelector.cpp
+===================================================================
+---
VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/widgets/UIFilePathSelector.cpp
++++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/widgets/UIFilePathSelector.cpp
+@@ -397,10 +397,10 @@ void UIFilePathSelector::selectPath()
+ switch (m_enmMode)
+ {
+ case Mode_File_Open:
+- strSelPath = QIFileDialog::getOpenFileName(strInitDir,
m_strFileDialogFilters, parentWidget(), m_strFileDialogTitle); break;
++ strSelPath = QIFileDialog::getOpenFileName(strInitDir,
m_strFileDialogFilters, QApplication::activeWindow(), m_strFileDialogTitle); break;
+ case Mode_File_Save:
+ {
+- strSelPath = QIFileDialog::getSaveFileName(strInitDir,
m_strFileDialogFilters, parentWidget(), m_strFileDialogTitle);
++ strSelPath = QIFileDialog::getSaveFileName(strInitDir,
m_strFileDialogFilters, QApplication::activeWindow(), m_strFileDialogTitle);
+ if (!strSelPath.isEmpty() &&
QFileInfo(strSelPath).suffix().isEmpty())
+ {
+ if (m_strFileDialogDefaultSaveExtension.isEmpty())
+@@ -411,7 +411,7 @@ void UIFilePathSelector::selectPath()
+ break;
+ }
+ case Mode_Folder:
+- strSelPath = QIFileDialog::getExistingDirectory(strInitDir, parentWidget(),
m_strFileDialogTitle); break;
++ strSelPath = QIFileDialog::getExistingDirectory(strInitDir,
QApplication::activeWindow(), m_strFileDialogTitle); break;
+ }
+
+ /* Do nothing if nothing chosen: */
+Index:
VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/widgets/UIEmptyFilePathSelector.cpp
+===================================================================
+---
VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/widgets/UIEmptyFilePathSelector.cpp
++++
VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/widgets/UIEmptyFilePathSelector.cpp
+@@ -232,16 +232,16 @@ void UIEmptyFilePathSelector::choose()
+ switch (mMode)
+ {
+ case UIEmptyFilePathSelector::Mode_File_Open:
+- path = QIFileDialog::getOpenFileName (initDir, mFileFilters, parentWidget(),
mFileDialogTitle); break;
++ path = QIFileDialog::getOpenFileName (initDir, mFileFilters,
QApplication::activeWindow(), mFileDialogTitle); break;
+ case UIEmptyFilePathSelector::Mode_File_Save:
+ {
+- path = QIFileDialog::getSaveFileName (initDir, mFileFilters, parentWidget(),
mFileDialogTitle);
++ path = QIFileDialog::getSaveFileName (initDir, mFileFilters,
QApplication::activeWindow(), mFileDialogTitle);
+ if (!path.isEmpty() && QFileInfo (path).suffix().isEmpty())
+ path = QString ("%1.%2").arg (path).arg (mDefaultSaveExt);
+ break;
+ }
+ case UIEmptyFilePathSelector::Mode_Folder:
+- path = QIFileDialog::getExistingDirectory (initDir, parentWidget(),
mFileDialogTitle); break;
++ path = QIFileDialog::getExistingDirectory (initDir,
QApplication::activeWindow(), mFileDialogTitle); break;
+ }
+ if (path.isEmpty())
+ return;
+Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp
+===================================================================
+--- VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp
++++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp
+@@ -438,7 +438,7 @@ void UIMediumSelector::sltButtonLeaveEmp
+
+ void UIMediumSelector::sltAddMedium()
+ {
+- QUuid uMediumID = uiCommon().openMediumWithFileOpenDialog(m_enmMediumType, this,
m_strMachineFolder);
++ QUuid uMediumID = uiCommon().openMediumWithFileOpenDialog(m_enmMediumType,
QApplication::activeWindow(), m_strMachineFolder);
+ if (uMediumID.isNull())
+ return;
+ repopulateTreeWidget();
+Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp
+===================================================================
+--- VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp
++++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp
+@@ -3197,7 +3197,7 @@ void UICommon::updateMachineStorage(cons
+ }
+ else if (target.type ==
UIMediumTarget::UIMediumTargetType_WithFileDialog)
+ {
+- uMediumID = openMediumWithFileOpenDialog(target.mediumType,
windowManager().mainWindowShown(),
++ uMediumID = openMediumWithFileOpenDialog(target.mediumType,
QApplication::activeWindow(),
+ strMachineFolder, false /*
fUseLastFolder */);
+ }
+ else if(target.type ==
UIMediumTarget::UIMediumTargetType_CreateAdHocVISO)
+Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
+===================================================================
+--- VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
++++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
+@@ -486,7 +486,7 @@ void UIMediumManagerWidget::sltHandleMac
+ void UIMediumManagerWidget::sltAddMedium()
+ {
+ QString strDefaultMachineFolder =
uiCommon().virtualBox().GetSystemProperties().GetDefaultMachineFolder();
+- uiCommon().openMediumWithFileOpenDialog(currentMediumType(), this,
++ uiCommon().openMediumWithFileOpenDialog(currentMediumType(),
QApplication::activeWindow(),
+ strDefaultMachineFolder, true /* use most
recent medium folder */);
+ }
+
+Index:
VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp
+===================================================================
+---
VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp
++++
VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp
+@@ -3958,7 +3958,7 @@ void UIMachineSettingsStorage::sltChoose
+ {
+ const QString
strMachineFolder(QFileInfo(m_strMachineSettingsFilePath).absolutePath());
+
+- QUuid uMediumId =
uiCommon().openMediumWithFileOpenDialog(m_pMediumIdHolder->type(), this,
strMachineFolder);
++ QUuid uMediumId =
uiCommon().openMediumWithFileOpenDialog(m_pMediumIdHolder->type(),
QApplication::activeWindow(), strMachineFolder);
+ if (uMediumId.isNull())
+ return;
+ m_pMediumIdHolder->setId(uMediumId);
+Index:
VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
+===================================================================
+---
VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
++++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
+@@ -1176,7 +1176,7 @@ void UIExtraDataManagerWindow::sltSave()
+ /* Compose initial file-name: */
+ const QString strInitialFileName =
QDir(uiCommon().homeFolder()).absoluteFilePath(QString("%1_ExtraData.xml").arg(currentChooserName()));
+ /* Open file-save dialog to choose file to save extra-data into: */
+- const QString strFileName = QIFileDialog::getSaveFileName(strInitialFileName,
"XML files (*.xml)", this,
++ const QString strFileName = QIFileDialog::getSaveFileName(strInitialFileName,
"XML files (*.xml)", QApplication::activeWindow(),
+ "Choose file to save
extra-data into..", 0, true, true);
+ /* Make sure file-name was chosen: */
+ if (strFileName.isEmpty())
+@@ -1263,7 +1263,7 @@ void UIExtraDataManagerWindow::sltLoad()
+ /* Compose initial file-name: */
+ const QString strInitialFileName =
QDir(uiCommon().homeFolder()).absoluteFilePath(QString("%1_ExtraData.xml").arg(currentChooserName()));
+ /* Open file-open dialog to choose file to open extra-data into: */
+- const QString strFileName = QIFileDialog::getOpenFileName(strInitialFileName,
"XML files (*.xml)", this,
++ const QString strFileName = QIFileDialog::getOpenFileName(strInitialFileName,
"XML files (*.xml)", QApplication::activeWindow(),
+ "Choose file to load
extra-data from..");
+ /* Make sure file-name was chosen: */
+ if (strFileName.isEmpty())
+Index: VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/widgets/UILineTextEdit.cpp
+===================================================================
+--- VirtualBox-6.1.18.orig/src/VBox/Frontends/VirtualBox/src/widgets/UILineTextEdit.cpp
++++ VirtualBox-6.1.18/src/VBox/Frontends/VirtualBox/src/widgets/UILineTextEdit.cpp
+@@ -78,7 +78,7 @@ void UITextEditor::retranslateUi()
+
+ void UITextEditor::open()
+ {
+- QString fileName = QIFileDialog::getOpenFileName(uiCommon().documentsPath(),
tr("Text (*.txt);;All (*.*)"), this, tr("Select a file to open..."));
++ QString fileName = QIFileDialog::getOpenFileName(uiCommon().documentsPath(),
tr("Text (*.txt);;All (*.*)"), QApplication::activeWindow(), tr("Select a
file to open..."));
+ if (!fileName.isEmpty())
+ {
+ QFile file(fileName);