/[packages]/cauldron/pcmanfm-qt/releases/0.16.0/3.mga8/SOURCES/0001-Added-nullity-check-for-proxy-model-when-setting-des.patch
ViewVC logotype

Contents of /cauldron/pcmanfm-qt/releases/0.16.0/3.mga8/SOURCES/0001-Added-nullity-check-for-proxy-model-when-setting-des.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1667537 - (show annotations) (download)
Fri Jan 1 09:09:26 2021 UTC (3 years, 3 months ago) by schedbot
File size: 2141 byte(s)
%repsys markrelease
version: 0.16.0
release: 3.mga8
revision: 1667534

Copying 0.16.0-3.mga8 to releases/ directory.
1 From 6e706731923ebe0dc38113a46c068d8527a7129b Mon Sep 17 00:00:00 2001
2 From: Tsu Jan <tsujan2000@gmail.com>
3 Date: Wed, 30 Dec 2020 21:29:15 +0330
4 Subject: [PATCH] Added nullity check for proxy model when setting desktop
5 folder
6
7 Logically, it was needed. Apparently, its lack might cause a crash under very rare and special circumstances.
8
9 Closes https://github.com/lxqt/pcmanfm-qt/issues/1273
10 ---
11 pcmanfm/desktopwindow.cpp | 14 +++++++++++++-
12 1 file changed, 13 insertions(+), 1 deletion(-)
13
14 diff --git a/pcmanfm/desktopwindow.cpp b/pcmanfm/desktopwindow.cpp
15 index 8e26b3f..b21523b 100644
16 --- a/pcmanfm/desktopwindow.cpp
17 +++ b/pcmanfm/desktopwindow.cpp
18 @@ -469,7 +469,9 @@ void DesktopWindow::setDesktopFolder() {
19 // free the previous model and folder
20 if(model_) {
21 disconnect(model_, &Fm::FolderModel::filesAdded, this, &DesktopWindow::onFilesAdded);
22 - proxyModel_->setSourceModel(nullptr);
23 + if(proxyModel_) {
24 + proxyModel_->setSourceModel(nullptr);
25 + }
26 delete model_;
27 model_ = nullptr;
28 }
29 @@ -484,7 +486,17 @@ void DesktopWindow::setDesktopFolder() {
30 folder_ = model_->folder();
31 connect(folder_.get(), &Fm::Folder::startLoading, this, &DesktopWindow::onFolderStartLoading);
32 connect(folder_.get(), &Fm::Folder::finishLoading, this, &DesktopWindow::onFolderFinishLoading);
33 +
34 + if(proxyModel_ == nullptr) {
35 + proxyModel_ = new Fm::ProxyFolderModel();
36 + setModel(proxyModel_);
37 + connect(proxyModel_, &Fm::ProxyFolderModel::rowsInserted, this, &DesktopWindow::onRowsInserted);
38 + connect(proxyModel_, &Fm::ProxyFolderModel::rowsAboutToBeRemoved, this, &DesktopWindow::onRowsAboutToBeRemoved);
39 + connect(proxyModel_, &Fm::ProxyFolderModel::layoutChanged, this, &DesktopWindow::onLayoutChanged);
40 + connect(proxyModel_, &Fm::ProxyFolderModel::sortFilterChanged, this, &DesktopWindow::onModelSortFilterChanged);
41 + }
42 proxyModel_->setSourceModel(model_);
43 +
44 if(folder_->isLoaded()) {
45 onFolderStartLoading();
46 onFolderFinishLoading();
47 --
48 2.30.0
49

  ViewVC Help
Powered by ViewVC 1.1.30