summaryrefslogtreecommitdiff
blob: c2734c83e45d6101704d56f04ce6897a2391bd60 (plain)
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
commit 8c7e6552742d11b13bc381fb39c00f9d57ce70ba
Author: Felix Geyer <debfx@fobos.de>
Date:   Sun Jan 12 12:39:39 2014 +0100

    Add compatibility with libgcrypt 1.6.
    
    Closes #129

diff --git a/src/crypto/Crypto.cpp b/src/crypto/Crypto.cpp
index 6ad7fb0..1e28002 100644
--- a/src/crypto/Crypto.cpp
+++ b/src/crypto/Crypto.cpp
@@ -23,6 +23,7 @@
 
 bool Crypto::m_initalized(false);
 
+#if !defined(GCRYPT_VERSION_NUMBER) || (GCRYPT_VERSION_NUMBER < 0x010600)
 static int gcry_qt_mutex_init(void** p_sys)
 {
     *p_sys = new QMutex();
@@ -57,6 +58,7 @@ static const struct gcry_thread_cbs gcry_threads_qt =
     gcry_qt_mutex_unlock,
     0, 0, 0, 0, 0, 0, 0, 0
 };
+#endif
 
 Crypto::Crypto()
 {
@@ -69,7 +71,10 @@ void Crypto::init()
         return;
     }
 
+    // libgcrypt >= 1.6 doesn't allow custom thread callbacks anymore.
+#if !defined(GCRYPT_VERSION_NUMBER) || (GCRYPT_VERSION_NUMBER < 0x010600)
     gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_qt);
+#endif
     gcry_check_version(0);
     gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);