1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
From 54ef30823adb3d4c9b6c66494142980f5cc9e35b Mon Sep 17 00:00:00 2001
From: Andre Heinecke <aheinecke@gnupg.org>
Date: Wed, 12 Feb 2020 12:11:32 +0100
Subject: [PATCH] De inline keylistmodelinterface virtual dtor
This attempts to fix a crash on FreeBSD. See: D26393 for
more info.
BUG: 415168
---
src/CMakeLists.txt | 1 +
src/models/keylistmodelinterface.cpp | 35 ++++++++++++++++++++++++++++
src/models/keylistmodelinterface.h | 6 +++--
3 files changed, 40 insertions(+), 2 deletions(-)
create mode 100644 src/models/keylistmodelinterface.cpp
diff --git src/CMakeLists.txt src/CMakeLists.txt
index dc30079..056d33b 100644
--- src/CMakeLists.txt
+++ src/CMakeLists.txt
@@ -29,6 +29,7 @@ set(libkleo_core_SRCS
kleo/keyresolver.cpp
models/keycache.cpp
models/keylistmodel.cpp
+ models/keylistmodelinterface.cpp
models/keylistsortfilterproxymodel.cpp
models/keyrearrangecolumnsproxymodel.cpp
models/subkeylistmodel.cpp
diff --git src/models/keylistmodelinterface.cpp src/models/keylistmodelinterface.cpp
new file mode 100644
index 0000000..77fc1e2
--- /dev/null
+++ src/models/keylistmodelinterface.cpp
@@ -0,0 +1,35 @@
+/* -*- mode: c++; c-basic-offset:4 -*-
+ models/keylistmodelinterface.cpp
+
+ Copyright (c) 2020 g10 Code GmbH
+
+ Kleopatra is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Kleopatra is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+ In addition, as a special exception, the copyright holders give
+ permission to link the code of this program with any edition of
+ the Qt library by Trolltech AS, Norway (or with modified versions
+ of Qt that use the same license as Qt), and distribute linked
+ combinations including the two. You must obey the GNU General
+ Public License in all respects for all of the code used other than
+ Qt. If you modify this file, you may extend this exception to
+ your version of the file, but you are not obligated to do so. If
+ you do not wish to do so, delete this exception statement from
+ your version.
+*/
+#include "keylistmodelinterface.h"
+
+Kleo::KeyListModelInterface::~KeyListModelInterface()
+{
+}
diff --git src/models/keylistmodelinterface.h src/models/keylistmodelinterface.h
index 3090017..4de3fec 100644
--- src/models/keylistmodelinterface.h
+++ src/models/keylistmodelinterface.h
@@ -35,6 +35,8 @@
#include <vector>
+#include <kleo_export.h>
+
namespace GpgME
{
class Key;
@@ -46,10 +48,10 @@ template <typename T> class QList;
namespace Kleo
{
-class KeyListModelInterface
+class KLEO_EXPORT KeyListModelInterface
{
public:
- virtual ~KeyListModelInterface() {}
+ virtual ~KeyListModelInterface();
static const int FingerprintRole = 0xF1;
static const int KeyRole = 0xF2;
--
2.20.1
|