50 lines
2.6 KiB
Text
50 lines
2.6 KiB
Text
Make texworks build against a newer synctex:
|
|
https://github.com/TeXworks/texworks/commit/496cc1785f335f0eb4451005025fe11ae295d3e4
|
|
|
|
Index: src/TWSynchronizer.cpp
|
|
--- src/TWSynchronizer.cpp.orig
|
|
+++ src/TWSynchronizer.cpp
|
|
@@ -75,7 +75,7 @@ TWSynchronizer::PDFSyncPoint TWSyncTeXSynchronizer::sy
|
|
// Find the name SyncTeX is using for this source file...
|
|
const QFileInfo sourceFileInfo(src.filename);
|
|
QDir curDir(QFileInfo(pdfFilename()).canonicalPath());
|
|
- SyncTeX::synctex_node_t node = SyncTeX::synctex_scanner_input(_scanner);
|
|
+ SyncTeX::synctex_node_p node = SyncTeX::synctex_scanner_input(_scanner);
|
|
QString name;
|
|
bool found = false;
|
|
while (node) {
|
|
@@ -92,8 +92,8 @@ TWSynchronizer::PDFSyncPoint TWSyncTeXSynchronizer::sy
|
|
|
|
retVal.filename = pdfFilename();
|
|
|
|
- if (SyncTeX::synctex_display_query(_scanner, name.toLocal8Bit().data(), src.line, src.col) > 0) {
|
|
- while ((node = SyncTeX::synctex_next_result(_scanner)) != NULL) {
|
|
+ if (SyncTeX::synctex_display_query(_scanner, name.toLocal8Bit().data(), src.line, src.col, -1) > 0) {
|
|
+ while ((node = SyncTeX::synctex_scanner_next_result(_scanner)) != NULL) {
|
|
if (retVal.page < 0)
|
|
retVal.page = SyncTeX::synctex_node_page(node);
|
|
if (SyncTeX::synctex_node_page(node) != retVal.page)
|
|
@@ -122,8 +122,8 @@ TWSynchronizer::TeXSyncPoint TWSyncTeXSynchronizer::sy
|
|
return retVal;
|
|
|
|
if (SyncTeX::synctex_edit_query(_scanner, src.page, src.rects[0].left(), src.rects[0].top()) > 0) {
|
|
- SyncTeX::synctex_node_t node;
|
|
- while ((node = SyncTeX::synctex_next_result(_scanner)) != NULL) {
|
|
+ SyncTeX::synctex_node_p node;
|
|
+ while ((node = SyncTeX::synctex_scanner_next_result(_scanner)) != NULL) {
|
|
retVal.filename = QString::fromLocal8Bit(SyncTeX::synctex_scanner_get_name(_scanner, SyncTeX::synctex_node_tag(node)));
|
|
retVal.line = SyncTeX::synctex_node_line(node);
|
|
retVal.col = -1;
|
|
@@ -215,9 +215,9 @@ void TWSyncTeXSynchronizer::_syncFromPDFFine(const TWS
|
|
// than one PDF rect for multiline paragraphs).
|
|
// Note: this still does not help for paragraphs broken across pages
|
|
QList<QPolygonF> selection;
|
|
- if (SyncTeX::synctex_display_query(_scanner, dest.filename.toLocal8Bit().data(), dest.line, -1) > 0) {
|
|
- SyncTeX::synctex_node_t node;
|
|
- while ((node = SyncTeX::synctex_next_result(_scanner)) != NULL) {
|
|
+ if (SyncTeX::synctex_display_query(_scanner, dest.filename.toLocal8Bit().data(), dest.line, -1, src.page) > 0) {
|
|
+ SyncTeX::synctex_node_p node;
|
|
+ while ((node = SyncTeX::synctex_scanner_next_result(_scanner)) != NULL) {
|
|
if (SyncTeX::synctex_node_page(node) != src.page)
|
|
continue;
|
|
QRectF nodeRect(synctex_node_box_visible_h(node),
|