<table><tr><td style="">rkflx created this revision.<br />Restricted Application added a project: Okular.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D7594" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This should prevent crashes when reloading some synctex-enabled pdf<br />
files created with newer versions of TeXLive. We also gain bugfixes,<br />
features and improved accuracy from the last 6 years of synctex<br />
development.</p>

<p>Procedure followed:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">svn co svn://tug.org/texlive/trunk/Build/source/texk/web2c/synctexdir</li>
<li class="remarkup-list-item">Check out revision 45150</li>
<li class="remarkup-list-item">Update files present in core/synctex/*</li>
<li class="remarkup-list-item">Adapt Okular code to changes</li>
<li class="remarkup-list-item">Review and drop or update/apply old patches using quilt</li>
<li class="remarkup-list-item">Create missing patches for local synctex changes</li>
<li class="remarkup-list-item">New patch: Omit warning message when opening non-synctex pdf</li>
<li class="remarkup-list-item">Two new patches to fix more compiler warnings</li>
</ul>

<p>TODO for later:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Move sync file detection code to Okular to never call into synctex C code for non-synctex files</li>
<li class="remarkup-list-item">Evaluate feasibility of upstreaming all patches for TeXLive 2018 and using synctex as a library</li>
</ul>

<p>BUG: 383915<br />
FIXED-IN: 17.12.0</p></div></div><br /><div><strong>TEST PLAN</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">No crash in synctex on reloading empty.pdf from bugreport anymore.</li>
<li class="remarkup-list-item">Shift-clicking on a word in a simple pdf opens Kate with the corresponding tex line.</li>
<li class="remarkup-list-item">Works with tex files from both TeXLive 2015 and 2017.</li>
<li class="remarkup-list-item">PartTest::testForwardPDF still passes.</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R223 Okular</div></div></div><br /><div><strong>BRANCH</strong><div><div>synctex-update (branched from master)</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D7594" rel="noreferrer">https://phabricator.kde.org/D7594</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>autotests/parttest.cpp<br />
core/document.cpp<br />
core/document_p.h<br />
core/synctex/patches/00-disable-SYNCTEX_INLINE.diff<br />
core/synctex/patches/01-fix-win32-define.diff<br />
core/synctex/patches/04-gcc-specify-printf-format.diff<br />
core/synctex/patches/05-fix-error-formats.diff<br />
core/synctex/patches/06-mingw-_synctex_error.diff<br />
core/synctex/patches/07-synctex_scanner_new_with_output_file-reset-mode.diff<br />
core/synctex/patches/08-fix_cpp_comments.diff<br />
core/synctex/patches/09-fix_path_comparison.diff<br />
core/synctex/patches/10-fix-typo.diff<br />
core/synctex/patches/11-fix-unused-parameters-warnings.diff<br />
core/synctex/patches/12-omit-no-file-warning.diff<br />
core/synctex/patches/13-fix-Wundef-warnings.diff<br />
core/synctex/patches/14-fix-misc-compiler-warnings.diff<br />
core/synctex/patches/series<br />
core/synctex/synctex_parser.c<br />
core/synctex/synctex_parser.h<br />
core/synctex/synctex_parser_advanced.h<br />
core/synctex/synctex_parser_local.h<br />
core/synctex/synctex_parser_readme.md<br />
core/synctex/synctex_parser_readme.txt<br />
core/synctex/synctex_parser_utils.c<br />
core/synctex/synctex_parser_utils.h<br />
core/synctex/synctex_parser_version.txt</div></div></div><br /><div><strong>To: </strong>rkflx, Okular, sander<br /><strong>Cc: </strong>aacid<br /></div>