From 32c09ea5b0f529418eece63de5c3b2c206f62896 Mon Sep 17 00:00:00 2001 From: Michael Weghorn Date: Wed, 19 Aug 2020 09:18:57 +0200 Subject: [PATCH] xdgdesktopportal: Avoid dangling pointer Use pointer to newly inserted element in 'filterList' since local variable 'filter' goes out of scope at the end of the block. This is a follow-up for commit 3e09c28101d1af1dd90a4b515d7edbe5a3737f97 ("Filechooser portal: Implement "current_filter"). Thanks to Giuseppe D'Angelo for pointing this out in that commit's Gerrit change. Pick-to: 5.15 Change-Id: I9af35c46315c7f90721d0d39b0fda6384c15786a Reviewed-by: Giuseppe D'Angelo --- .../xdgdesktopportal/qxdgdesktopportalfiledialog.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp b/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp index fc386935d45..ae2532e69e6 100644 --- a/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp +++ b/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp @@ -236,7 +236,7 @@ void QXdgDesktopPortalFileDialog::openPortal() filterList << filter; if (!d->selectedMimeTypeFilter.isEmpty() && d->selectedMimeTypeFilter == mimeTypefilter) - selectedFilter = &filter; + selectedFilter = &filterList.last(); } } else if (!d->nameFilters.isEmpty()) { for (const QString &nameFilter : d->nameFilters) { @@ -265,7 +265,7 @@ void QXdgDesktopPortalFileDialog::openPortal() d->userVisibleToNameFilter.insert(userVisibleName, nameFilter); if (!d->selectedNameFilter.isEmpty() && d->selectedNameFilter == nameFilter) - selectedFilter = &filter; + selectedFilter = &filterList.last(); } } }