summaryrefslogtreecommitdiffstats
path: root/office/qpdfview/qpdfview-synctex-2018.patch
diff options
context:
space:
mode:
Diffstat (limited to 'office/qpdfview/qpdfview-synctex-2018.patch')
-rw-r--r--office/qpdfview/qpdfview-synctex-2018.patch85
1 files changed, 85 insertions, 0 deletions
diff --git a/office/qpdfview/qpdfview-synctex-2018.patch b/office/qpdfview/qpdfview-synctex-2018.patch
new file mode 100644
index 0000000000..defb61f386
--- /dev/null
+++ b/office/qpdfview/qpdfview-synctex-2018.patch
@@ -0,0 +1,85 @@
+=== modified file 'application.pro'
+--- application.pro 2018-05-04 18:00:34 +0000
++++ application.pro 2018-05-05 05:57:24 +0000
+@@ -227,6 +227,8 @@
+ !without_pkgconfig:system(pkg-config --exists synctex) {
+ CONFIG += link_pkgconfig
+ PKGCONFIG += synctex
++
++ system(pkg-config --atleast-version=2.0.0 synctex):DEFINES += HAS_SYNCTEX_2
+ } else {
+ HEADERS += synctex/synctex_parser.h synctex/synctex_parser_utils.h synctex/synctex_parser_local.h
+ SOURCES += synctex/synctex_parser.c synctex/synctex_parser_utils.c
+
+=== modified file 'sources/documentview.cpp'
+--- sources/documentview.cpp 2018-03-28 19:19:40 +0000
++++ sources/documentview.cpp 2018-05-05 05:57:24 +0000
+@@ -56,6 +56,15 @@
+
+ #include <synctex_parser.h>
+
++#ifndef HAS_SYNCTEX_2
++
++typedef synctex_scanner_t synctex_scanner_p;
++typedef synctex_node_t synctex_node_p;
++
++#define synctex_scanner_next_result(scanner) synctex_next_result(scanner)
++
++#endif // HAS_SYNCTEX_2
++
+ #endif // WITH_SYNCTEX
+
+ #include "settings.h"
+@@ -245,11 +254,11 @@
+ {
+ DocumentView::SourceLink sourceLink;
+
+- if(synctex_scanner_t scanner = synctex_scanner_new_with_output_file(filePath.toLocal8Bit(), 0, 1))
++ if(synctex_scanner_p scanner = synctex_scanner_new_with_output_file(filePath.toLocal8Bit(), 0, 1))
+ {
+ if(synctex_edit_query(scanner, page, pos.x(), pos.y()) > 0)
+ {
+- for(synctex_node_t node = synctex_next_result(scanner); node != 0; node = synctex_next_result(scanner))
++ for(synctex_node_p node = synctex_scanner_next_result(scanner); node != 0; node = synctex_scanner_next_result(scanner))
+ {
+ sourceLink.name = QString::fromLocal8Bit(synctex_scanner_get_name(scanner, synctex_node_tag(node)));
+ sourceLink.line = qMax(synctex_node_line(node), 0);
+
+=== modified file 'sources/main.cpp'
+--- sources/main.cpp 2018-05-04 05:40:07 +0000
++++ sources/main.cpp 2018-05-05 05:57:24 +0000
+@@ -45,6 +45,16 @@
+
+ #include <synctex_parser.h>
+
++#ifndef HAS_SYNCTEX_2
++
++typedef synctex_scanner_t synctex_scanner_p;
++typedef synctex_node_t synctex_node_p;
++
++#define synctex_scanner_next_result(scanner) synctex_next_result(scanner)
++#define synctex_display_query(scanner, file, line, column, page) synctex_display_query(scanner, file, line, column)
++
++#endif // HAS_SYNCTEX_2
++
+ #endif // WITH_SYNCTEX
+
+ #include "documentview.h"
+@@ -326,13 +336,11 @@
+
+ if(!file.sourceName.isNull())
+ {
+- synctex_scanner_t scanner = synctex_scanner_new_with_output_file(file.filePath.toLocal8Bit(), 0, 1);
+-
+- if(scanner != 0)
++ if(synctex_scanner_p scanner = synctex_scanner_new_with_output_file(file.filePath.toLocal8Bit(), 0, 1))
+ {
+- if(synctex_display_query(scanner, file.sourceName.toLocal8Bit(), file.sourceLine, file.sourceColumn) > 0)
++ if(synctex_display_query(scanner, file.sourceName.toLocal8Bit(), file.sourceLine, file.sourceColumn, -1) > 0)
+ {
+- for(synctex_node_t node = synctex_next_result(scanner); node != 0; node = synctex_next_result(scanner))
++ for(synctex_node_p node = synctex_scanner_next_result(scanner); node != 0; node = synctex_scanner_next_result(scanner))
+ {
+ int page = synctex_node_page(node);
+ QRectF enclosingBox(synctex_node_box_visible_h(node), synctex_node_box_visible_v(node), synctex_node_box_visible_width(node), synctex_node_box_visible_height(node));
+