Hello community, here is the log from the commit of package virtualbox for openSUSE:Factory checked in at 2020-12-10 15:57:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/virtualbox (Old) and /work/SRC/openSUSE:Factory/.virtualbox.new.2328 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virtualbox" Thu Dec 10 15:57:37 2020 rev:206 rq:854344 version:6.1.16 Changes: -------- --- /work/SRC/openSUSE:Factory/virtualbox/virtualbox.changes 2020-09-21 17:15:57.755583335 +0200 +++ /work/SRC/openSUSE:Factory/.virtualbox.new.2328/virtualbox.changes 2020-12-10 15:57:43.646831319 +0100 @@ -1,0 +2,43 @@ +Wed Dec 9 15:35:34 UTC 2020 - Hans-Peter Jansen <h...@urpla.net> + +- Add vb-6.1.16-modal-dialog-parent.patch in order to solve the + file selector dialog mouse control issues + +------------------------------------------------------------------- +Tue Dec 8 13:41:09 UTC 2020 - Dominique Leuenberger <dims...@opensuse.org> + +- Fix build with RPM 4.16: Do not install files to buildroot during + the build phase: +- Do not forcibly require systemd: systemd_ordering is sufficient. + +------------------------------------------------------------------- +Mon Dec 7 16:00:15 UTC 2020 - Hans-Peter Jansen <h...@urpla.net> + +- Add linux-5.10-r0drv-memobj-fix-r0.patch to fix build with kernel 5.10 +- Add linux-5.10-address-space-fixes.patch to fix sharedfolders with 5.10 +- Add linux-5.10-framebuffer-fixes.patch to fix framebuffer with 5.10 + +------------------------------------------------------------------- +Tue Oct 20 18:14:18 UTC 2020 - Larry Finger <larry.fin...@gmail.com> + +- Version bump to 6.1.16 (released October 16 2020 by Oracle) + + This is a maintenance release. The following items were fixed and/or added: + File "fixes_for_5.9.patch" deleted - fixed upstream. + + VMM: Fixed random memory corruption and XMM register state corruption inside the VM when Hyper-V is used (bug #19695) + VMM: Fixed VMSVGA 3D support with Linux guests when Hyper-V is used (bug #19884) + GUI: Fixed some Qt related crashes on macOS Big Sur + Oracle Cloud Infrastructure integration: Fixed network integration not working behind some proxies + USB: Mask out remote wake capability to avoid unresponsive devices + Audio: Fixed issues with audio playback after host goes to sleep (bug #18594) + Serial: Keep transferring data if the status line monitoring fails + Serial: Fixed blocking a re-connect when TCP mode is used (bug #19878) + HPET: Fixed inability of guests to use the last timer + VBoxManage: Fixed detection of system locale when running 'VBoxManage unattended install' without --locale (bug #19856) + Linux host and guest: Support kernel version 5.9 (bug #19845) + Linux guest: Workaround to improve resizing of 32-bit VMs with VMSVGA graphics controller, and do not try to use RandR version 1.3 due to bugs causing the X server to hang + Linux guest: Fixed VBoxService crashing in the CPU hot-plug service under certain circumstances during a CPU hot-unplug event (bugs #19902 and #19903) + Linux guest: Fixed Guest additions build for RHEL 8.3 beta (bug #19863) + +------------------------------------------------------------------- @@ -5,0 +49,5 @@ + +------------------------------------------------------------------- +Fri Sep 18 16:31:26 UTC 2020 - Hans-Peter Jansen <h...@urpla.net> + +- keep "Provides: multiversion(kernel)" in kmp package Old: ---- VirtualBox-6.1.14-patched.tar.bz2 fixes_for_5.9.patch New: ---- VirtualBox-6.1.16-patched.tar.bz2 linux-5.10-address-space-fixes.patch linux-5.10-framebuffer-fixes.patch linux-5.10-r0drv-memobj-fix-r0.patch vb-6.1.16-modal-dialog-parent.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ virtualbox.spec ++++++ --- /var/tmp/diff_new_pack.PAza7H/_old 2020-12-10 15:57:46.762834251 +0100 +++ /var/tmp/diff_new_pack.PAza7H/_new 2020-12-10 15:57:46.766834255 +0100 @@ -66,7 +66,7 @@ # ********* If the VB version exceeds 6.1.x, notify the libvirt maintainer!! Name: virtualbox%{?dash}%{?name_suffix} -Version: 6.1.14 +Version: 6.1.16 Release: 0 Summary: %{package_summary} License: GPL-2.0-or-later @@ -179,8 +179,11 @@ Patch136: fixes_for_gcc10.patch # Fix for changes in GSOAP 2.8.103 Patch137: handle_gsoap_208103.patch -# Fixes for kernel 5.9 -Patch138: fixes_for_5.9.patch +# Fixes for kernel 5.10 +Patch138: linux-5.10-r0drv-memobj-fix-r0.patch +Patch139: linux-5.10-address-space-fixes.patch +Patch140: linux-5.10-framebuffer-fixes.patch +Patch141: vb-6.1.16-modal-dialog-parent.patch Patch999: virtualbox-fix-ui-background-color.patch # @@ -266,7 +269,7 @@ BuildRequires: xorg-x11-libXmu-devel-32bit BuildRequires: xorg-x11-libXt-devel-32bit %endif -%{?systemd_requires} +%{?systemd_ordering} # package i4l-vbox from source package i4l-base shares the directory /etc/vbox # with us, but with different owner. Conflicts: i4l-vbox @@ -288,8 +291,7 @@ ### Requirements for virtualbox-kmp ### %if %{kmp_package} BuildRequires: libxml2-devel -%(sed -e '/^Provides: multiversion(kernel)/d' %{_prefix}/lib/rpm/kernel-module-subpackage > %{_builddir}/virtualbox-kmp-template) -%kernel_module_package -t %{_builddir}/virtualbox-kmp-template -p %{SOURCE7} -n virtualbox -f %{SOURCE5} -x kdump um xen pae xenpae pv +%kernel_module_package -p %{SOURCE7} -n virtualbox -f %{SOURCE5} -x kdump um xen pae xenpae pv Obsoletes: virtualbox-guest-kmp Obsoletes: virtualbox-host-kmp # end of kmp_package @@ -505,6 +507,9 @@ %patch136 -p1 %patch137 -p1 %patch138 -p1 +%patch139 -p1 +%patch140 -p1 +%patch141 -p1 # make VB UI background colors look sane again %patch999 -p1 @@ -585,11 +590,6 @@ # tar must use GNU, not POSIX, format here sed -i 's/tar /tar --format=gnu /' src/VBox/ExtPacks/VNC/Makefile.kmk kmk -C src/VBox/ExtPacks/VNC packing -pushd out/linux.*/release/packages/ -mkdir -p "%{buildroot}%{_datadir}/virtualbox/extensions/" -install -D -m 644 VNC-*.vbox-extpack "%{buildroot}%{_datadir}/virtualbox/extensions/VNC-%{version}.vbox-extpack" -popd -install -D -m 644 "COPYING" "%{buildroot}%{_datadir}/licenses/LICENSE.vnc" %install ################################# @@ -628,6 +628,16 @@ %if 0%{?suse_version} > 1320 || 0%{?sle_version} == 120300 install -d -m 755 %{buildroot}/media %endif + +########################################### +echo "entering VNC extension install section" +########################################### +pushd out/linux.*/release/packages/ +mkdir -p "%{buildroot}%{_datadir}/virtualbox/extensions/" +install -D -m 644 VNC-*.vbox-extpack "%{buildroot}%{_datadir}/virtualbox/extensions/VNC-%{version}.vbox-extpack" +popd +install -D -m 644 "COPYING" "%{buildroot}%{_datadir}/licenses/LICENSE.vnc" + # ############################################################## echo "entering guest-x11 install section" ++++++ UserManual.pdf ++++++ (binary differes) ++++++ VirtualBox-6.1.14-patched.tar.bz2 -> VirtualBox-6.1.16-patched.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/virtualbox/VirtualBox-6.1.14-patched.tar.bz2 /work/SRC/openSUSE:Factory/.virtualbox.new.2328/VirtualBox-6.1.16-patched.tar.bz2 differ: char 11, line 1 ++++++ fixes_for_gcc10.patch ++++++ --- /var/tmp/diff_new_pack.PAza7H/_old 2020-12-10 15:57:46.906834386 +0100 +++ /var/tmp/diff_new_pack.PAza7H/_new 2020-12-10 15:57:46.906834386 +0100 @@ -1,8 +1,8 @@ -Index: VirtualBox-6.1.14/Config.kmk +Index: VirtualBox-6.1.16/Config.kmk =================================================================== ---- VirtualBox-6.1.14.orig/Config.kmk -+++ VirtualBox-6.1.14/Config.kmk -@@ -2634,11 +2634,17 @@ else +--- VirtualBox-6.1.16.orig/Config.kmk ++++ VirtualBox-6.1.16/Config.kmk +@@ -2630,11 +2630,17 @@ else # The reason for this hack is that the windows kmk_ash cannot deal with $((1+1)). # Some versions of gcc (e.g. openSUSE11) return only major.minor on `gcc -dumpversion`. # gcc-5 of openSUSE42.1 only returns the major version on `gcc -dumpversion`! @@ -24,10 +24,10 @@ ifndef DONT_USE_YASM include $(KBUILD_PATH)/tools/YASM.kmk if1of ($(KBUILD_HOST), win os2) -Index: VirtualBox-6.1.14/src/VBox/Debugger/DBGCDumpImage.cpp +Index: VirtualBox-6.1.16/src/VBox/Debugger/DBGCDumpImage.cpp =================================================================== ---- VirtualBox-6.1.14.orig/src/VBox/Debugger/DBGCDumpImage.cpp -+++ VirtualBox-6.1.14/src/VBox/Debugger/DBGCDumpImage.cpp +--- VirtualBox-6.1.16.orig/src/VBox/Debugger/DBGCDumpImage.cpp ++++ VirtualBox-6.1.16/src/VBox/Debugger/DBGCDumpImage.cpp @@ -468,7 +468,7 @@ static const char *dbgcMachoCpuType(int3 { switch (iType) ++++++ fixes_for_leap15.2.patch ++++++ --- /var/tmp/diff_new_pack.PAza7H/_old 2020-12-10 15:57:46.914834394 +0100 +++ /var/tmp/diff_new_pack.PAza7H/_new 2020-12-10 15:57:46.914834394 +0100 @@ -1,7 +1,7 @@ -Index: VirtualBox-6.1.14/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c +Index: VirtualBox-6.1.16/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c =================================================================== ---- VirtualBox-6.1.14.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c -+++ VirtualBox-6.1.14/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c +--- VirtualBox-6.1.16.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c ++++ VirtualBox-6.1.16/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c @@ -73,6 +73,10 @@ #define VBOXNETFLT_OS_SPECFIC 1 #include "../VBoxNetFltInternal.h" @@ -13,15 +13,18 @@ typedef struct VBOXNETFLTNOTIFIER { struct notifier_block Notifier; PVBOXNETFLTINS pThis; -Index: VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_drv.c +Index: VirtualBox-6.1.16/src/VBox/Additions/linux/drm/vbox_drv.c =================================================================== ---- VirtualBox-6.1.14.orig/src/VBox/Additions/linux/drm/vbox_drv.c -+++ VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_drv.c -@@ -305,11 +305,13 @@ static void vbox_master_drop(struct drm_ +--- VirtualBox-6.1.16.orig/src/VBox/Additions/linux/drm/vbox_drv.c ++++ VirtualBox-6.1.16/src/VBox/Additions/linux/drm/vbox_drv.c +@@ -310,12 +310,15 @@ static void vbox_master_drop(struct drm_ + } + static struct drm_driver driver = { - #if RTLNX_VER_MAX(5,4,0) - .driver_features = -- DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ | +-#if RTLNX_VER_MAX(5,4,0) && !RTLNX_RHEL_MAJ_PREREQ(8,3) +- .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ | ++#if RTLNX_VER_MAX(5,4,0) ++ .driver_features = +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0) + DRIVER_PRIME | +#endif @@ -30,14 +33,14 @@ # endif - DRIVER_PRIME, + DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ, - #else /* >= 5.4.0 */ + #else /* >= 5.4.0 && RHEL >= 8.3 */ .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ, #endif /* < 5.4.0 */ -Index: VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_main.c +Index: VirtualBox-6.1.16/src/VBox/Additions/linux/drm/vbox_main.c =================================================================== ---- VirtualBox-6.1.14.orig/src/VBox/Additions/linux/drm/vbox_main.c -+++ VirtualBox-6.1.14/src/VBox/Additions/linux/drm/vbox_main.c -@@ -628,8 +628,12 @@ static inline u64 vbox_bo_mmap_offset(st +--- VirtualBox-6.1.16.orig/src/VBox/Additions/linux/drm/vbox_main.c ++++ VirtualBox-6.1.16/src/VBox/Additions/linux/drm/vbox_main.c +@@ -638,8 +638,12 @@ static inline u64 vbox_bo_mmap_offset(st #elif RTLNX_VER_MAX(3,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,0) return bo->bo.addr_space_offset; #else @@ -50,10 +53,10 @@ } int -Index: VirtualBox-6.1.14/include/iprt/cdefs.h +Index: VirtualBox-6.1.16/include/iprt/cdefs.h =================================================================== ---- VirtualBox-6.1.14.orig/include/iprt/cdefs.h -+++ VirtualBox-6.1.14/include/iprt/cdefs.h +--- VirtualBox-6.1.16.orig/include/iprt/cdefs.h ++++ VirtualBox-6.1.16/include/iprt/cdefs.h @@ -1173,14 +1173,15 @@ * Tell the compiler that we're falling through to the next case in a switch. * @sa RT_FALL_THRU */ ++++++ handle_gsoap_208103.patch ++++++ --- /var/tmp/diff_new_pack.PAza7H/_old 2020-12-10 15:57:46.934834413 +0100 +++ /var/tmp/diff_new_pack.PAza7H/_new 2020-12-10 15:57:46.934834413 +0100 @@ -1,17 +1,16 @@ -Index: VirtualBox-6.1.8/src/VBox/Main/webservice/vboxweb.cpp +Index: VirtualBox-6.1.16/src/VBox/Main/webservice/vboxweb.cpp =================================================================== ---- VirtualBox-6.1.8.orig/src/VBox/Main/webservice/vboxweb.cpp -+++ VirtualBox-6.1.8/src/VBox/Main/webservice/vboxweb.cpp -@@ -944,7 +944,11 @@ static void doQueuesLoop() - if (rv == 0) +--- VirtualBox-6.1.16.orig/src/VBox/Main/webservice/vboxweb.cpp ++++ VirtualBox-6.1.16/src/VBox/Main/webservice/vboxweb.cpp +@@ -945,9 +945,9 @@ static void doQueuesLoop() continue; // timeout, not necessary to bother gsoap // r < 0, errno -- if (soap_socket_errno(soap.master) == SOAP_EINTR) -+#if GSOAP_VERSION >= 208103 + #if GSOAP_VERSION >= 208103 +- if (soap_socket_errno == SOAP_EINTR) + if (soap_socket_errno == SOAP_EINTR) -+#else + #else +- if (soap_socket_errno(soap.master) == SOAP_EINTR) + if (soap_socket_errno(fd) == SOAP_EINTR) -+#endif + #endif rv = 0; // re-check if we should terminate break; - } ++++++ linux-5.10-address-space-fixes.patch ++++++ Index: b/src/VBox/Additions/linux/sharedfolders/regops.c =================================================================== --- a/src/VBox/Additions/linux/sharedfolders/regops.c +++ b/src/VBox/Additions/linux/sharedfolders/regops.c @@ -1401,7 +1401,10 @@ static int vbsf_lock_user_pages_failed_c /* * Check that this is valid user memory that is actually in the kernel range. */ -#if RTLNX_VER_MIN(5,0,0) || RTLNX_RHEL_MIN(8,1) +#if RTLNX_VER_MIN(5,10,0) + if ( access_ok((void *)uPtrFrom, cPages << PAGE_SHIFT) + && uPtrFrom >= TASK_SIZE_MAX) +#elif RTLNX_VER_MIN(5,0,0) || RTLNX_RHEL_MIN(8,1) if ( access_ok((void *)uPtrFrom, cPages << PAGE_SHIFT) && uPtrFrom >= USER_DS.seg) #else ++++++ linux-5.10-framebuffer-fixes.patch ++++++ Index: b/src/VBox/Additions/linux/drm/vbox_drv.h =================================================================== --- a/src/VBox/Additions/linux/drm/vbox_drv.h +++ b/src/VBox/Additions/linux/drm/vbox_drv.h @@ -205,6 +205,13 @@ static inline void drm_gem_object_put(st } #endif +#ifndef TTM_PL_FLAG_SYSTEM +#define TTM_PL_FLAG_SYSTEM (1 << TTM_PL_SYSTEM) +#endif +#ifndef TTM_PL_FLAG_VRAM +#define TTM_PL_FLAG_VRAM (1 << TTM_PL_VRAM) +#endif + #define DRIVER_AUTHOR VBOX_VENDOR #define DRIVER_NAME "vboxvideo" Index: b/src/VBox/Additions/linux/drm/vbox_ttm.c =================================================================== --- a/src/VBox/Additions/linux/drm/vbox_ttm.c +++ b/src/VBox/Additions/linux/drm/vbox_ttm.c @@ -373,11 +373,23 @@ void vbox_ttm_placement(struct vbox_bo * bo->placement.busy_placement = bo->placements; if (domain & TTM_PL_FLAG_VRAM) +#if RTLNX_VER_MIN(5,10,0) + bo->placements[c].mem_type = TTM_PL_VRAM; + PLACEMENT_FLAGS(bo->placements[c++]) = + TTM_PL_FLAG_WC | TTM_PL_FLAG_UNCACHED; +#else PLACEMENT_FLAGS(bo->placements[c++]) = TTM_PL_FLAG_WC | TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_VRAM; +#endif if (domain & TTM_PL_FLAG_SYSTEM) +#if RTLNX_VER_MIN(5,10,0) + bo->placements[c].mem_type = TTM_PL_SYSTEM; + PLACEMENT_FLAGS(bo->placements[c++]) = + TTM_PL_MASK_CACHING; +#else PLACEMENT_FLAGS(bo->placements[c++]) = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM; +#endif if (!c) PLACEMENT_FLAGS(bo->placements[c++]) = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM; ++++++ linux-5.10-r0drv-memobj-fix-r0.patch ++++++ Index: src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c =================================================================== --- a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c (Revision 141658) +++ b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c (Arbeitskopie) @@ -56,9 +56,12 @@ * Whether we use alloc_vm_area (3.2+) for executable memory. * This is a must for 5.8+, but we enable it all the way back to 3.2.x for * better W^R compliance (fExecutable flag). */ -#if RTLNX_VER_MIN(3,2,0) || defined(DOXYGEN_RUNNING) +#if RTLNX_VER_RANGE(3,2,0, 5,10,0) || defined(DOXYGEN_RUNNING) # define IPRT_USE_ALLOC_VM_AREA_FOR_EXEC #endif +#if RTLNX_VER_MIN(5,10,0) || defined(DOXYGEN_RUNNING) +# define IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC +#endif /* * 2.6.29+ kernels don't work with remap_pfn_range() anymore because @@ -502,7 +505,43 @@ } +#ifdef IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC /** + * User data passed to the apply_to_page_range() callback. + */ +typedef struct LNXAPPLYPGRANGE +{ + /** Pointer to the memory object. */ + PRTR0MEMOBJLNX pMemLnx; + /** The page protection flags to apply. */ + pgprot_t fPg; +} LNXAPPLYPGRANGE; +/** Pointer to the user data. */ +typedef LNXAPPLYPGRANGE *PLNXAPPLYPGRANGE; +/** Pointer to the const user data. */ +typedef const LNXAPPLYPGRANGE *PCLNXAPPLYPGRANGE; + +/** + * Callback called in apply_to_page_range(). + * + * @returns Linux status code. + * @param pPte Pointer to the page table entry for the given address. + * @param uAddr The address to apply the new protection to. + * @param pvUser The opaque user data. + */ +static DECLCALLBACK(int) rtR0MemObjLinuxApplyPageRange(pte_t *pPte, unsigned long uAddr, void *pvUser) +{ + PCLNXAPPLYPGRANGE pArgs = (PCLNXAPPLYPGRANGE)pvUser; + PRTR0MEMOBJLNX pMemLnx = pArgs->pMemLnx; + uint32_t idxPg = (uAddr - (unsigned long)pMemLnx->Core.pv) >> PAGE_SHIFT; + + set_pte(pPte, mk_pte(pMemLnx->apPages[idxPg], pArgs->fPg)); + return 0; +} +#endif + + +/** * Maps the allocation into ring-0. * * This will update the RTR0MEMOBJLNX::Core.pv and RTR0MEMOBJ::fMappedToRing0 members. @@ -584,6 +623,11 @@ else # endif { +# if defined(IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC) + if (fExecutable) + pgprot_val(fPg) |= _PAGE_NX; /* Uses RTR0MemObjProtect to clear NX when memory ready, W^X fashion. */ +# endif + # ifdef VM_MAP pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_MAP, fPg); # else @@ -1851,6 +1895,21 @@ preempt_enable(); return VINF_SUCCESS; } +# elif defined(IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC) + PRTR0MEMOBJLNX pMemLnx = (PRTR0MEMOBJLNX)pMem; + if ( pMemLnx->fExecutable + && pMemLnx->fMappedToRing0) + { + LNXAPPLYPGRANGE Args; + Args.pMemLnx = pMemLnx; + Args.fPg = rtR0MemObjLinuxConvertProt(fProt, true /*fKernel*/); + int rcLnx = apply_to_page_range(current->active_mm, (unsigned long)pMemLnx->Core.pv + offSub, cbSub, + rtR0MemObjLinuxApplyPageRange, (void *)&Args); + if (rcLnx) + return VERR_NOT_SUPPORTED; + + return VINF_SUCCESS; + } # endif NOREF(pMem); ++++++ vb-6.1.16-modal-dialog-parent.patch ++++++ Index: b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp =================================================================== --- a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp +++ b/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: b/src/VBox/Frontends/VirtualBox/src/widgets/UIFilePathSelector.cpp =================================================================== --- a/src/VBox/Frontends/VirtualBox/src/widgets/UIFilePathSelector.cpp +++ b/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: */ _______________________________________________ openSUSE Commits mailing list -- commit@lists.opensuse.org To unsubscribe, email commit-le...@lists.opensuse.org List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette List Archives: https://lists.opensuse.org/archives/list/commit@lists.opensuse.org