kate/0002-Fix-QuickOpen-with-Qt-5.11.patch
Luca Beltrame 988cf1d19c Accepting request 616877 from home:mkittler:branches:KDE:Applications
Add 0002-Fix-QuickOpen-with-Qt-5.11.patch for kde#395039 to make quick-open work again after Qt 5.11.0 update.

One more try. If it is still not sufficient, maybe you could add the patch for me? Otherwise I'll just use my own package. The patch should be included in the next version anyways.

OBS-URL: https://build.opensuse.org/request/show/616877
OBS-URL: https://build.opensuse.org/package/show/KDE:Applications/kate?expand=0&rev=98
2018-06-14 13:50:03 +00:00

77 lines
2.7 KiB
Diff

From 291b68994d7c6176dbc1983c956e2bb7135559e0 Mon Sep 17 00:00:00 2001
From: Sven Brauch <mail@svenbrauch.de>
Date: Wed, 13 Jun 2018 17:25:20 +0200
Subject: Fix QuickOpen with Qt 5.11
It remains to be investigated whether this is a regression in Qt
itself, or misuse of the API on our side. There is at least one
misuse (the call to mapFromSource) which is wrong in the old version,
so this patch improves the situation in either case.
Differential Revision: https://phabricator.kde.org/D13517
BUG:395039
---
kate/katequickopen.cpp | 21 +++++++--------------
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/kate/katequickopen.cpp b/kate/katequickopen.cpp
index 9e2536a..48452d1 100644
--- a/kate/katequickopen.cpp
+++ b/kate/katequickopen.cpp
@@ -147,7 +147,7 @@ void KateQuickOpen::update()
/**
* new base mode creation
*/
- QStandardItemModel *base_model = new QStandardItemModel(0, 2, this);
+ m_base_model->clear();
/**
* remember local file names to avoid dupes with project files
@@ -186,8 +186,8 @@ void KateQuickOpen::update()
QStandardItem *itemUrl = new QStandardItem(doc->url().toString());
itemUrl->setEditable(false);
- base_model->setItem(linecount, 0, itemName);
- base_model->setItem(linecount, 1, itemUrl);
+ m_base_model->setItem(linecount, 0, itemName);
+ m_base_model->setItem(linecount, 1, itemUrl);
linecount++;
if (!doc->url().isEmpty() && doc->url().isLocalFile()) {
@@ -224,8 +224,8 @@ void KateQuickOpen::update()
QStandardItem *itemUrl = new QStandardItem(doc->url().toString());
itemUrl->setEditable(false);
- base_model->setItem(linecount, 0, itemName);
- base_model->setItem(linecount, 1, itemUrl);
+ m_base_model->setItem(linecount, 0, itemName);
+ m_base_model->setItem(linecount, 1, itemUrl);
linecount++;
if (!doc->url().isEmpty() && doc->url().isLocalFile()) {
@@ -255,19 +255,12 @@ void KateQuickOpen::update()
QStandardItem *itemUrl = new QStandardItem(file);
itemUrl->setEditable(false);
- base_model->setItem(linecount, 0, itemName);
- base_model->setItem(linecount, 1, itemUrl);
+ m_base_model->setItem(linecount, 0, itemName);
+ m_base_model->setItem(linecount, 1, itemUrl);
linecount++;
}
}
- /**
- * swap models and kill old one
- */
- m_model->setSourceModel(base_model);
- delete m_base_model;
- m_base_model = base_model;
-
if (idxToSelect.isValid()) {
m_listView->setCurrentIndex(m_model->mapFromSource(idxToSelect));
} else {
--
cgit v0.11.2