summaryrefslogtreecommitdiff
path: root/security/libkleo/files/patch-BR415168
blob: e7e6a10e92b18e22ea5b5ce48f1c246fb05e21e4 (plain) (blame)
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