aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/clementine-fix-sqlite.patch
blob: f9d44f907411371e5cc9f9c0569b98a1e75301cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Patch downloaded from https://github.com/clementine-player/Clementine/pull/5669 .

diff -ruN clementine-1.3.1.565.gd20c2244a.orig/src/core/database.cpp clementine-1.3.1.565.gd20c2244a/src/core/database.cpp
--- clementine-1.3.1.565.gd20c2244a.orig/src/core/database.cpp	2018-07-07 23:59:24.018540126 +0200
+++ clementine-1.3.1.565.gd20c2244a/src/core/database.cpp	2018-07-08 00:04:47.991551728 +0200
@@ -265,6 +265,17 @@
   StaticInit();
 
   {
+
+#ifdef SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
+    // In case sqlite>=3.12 is compiled without -DSQLITE_ENABLE_FTS3_TOKENIZER
+    // (generally a good idea  due to security reasons) the fts3 support should be enabled explicitly.
+    QVariant v = db.driver()->handle();
+    if (v.isValid() && qstrcmp(v.typeName(), "sqlite3*") == 0) {
+      sqlite3 *handle = *static_cast<sqlite3**>(v.data());
+      if (handle) sqlite3_db_config(handle, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, NULL);
+    }
+#endif
+
     QSqlQuery set_fts_tokenizer(db);
     set_fts_tokenizer.prepare("SELECT fts3_tokenizer(:name, :pointer)");
     set_fts_tokenizer.bindValue(":name", "unicode");