]> git.lyx.org Git - features.git/commitdiff
Attempt to fix #11457
authorJosé Matos <jamatos@lyx.org>
Tue, 28 May 2019 15:22:32 +0000 (16:22 +0100)
committerRichard Kimberly Heck <rikiheck@lyx.org>
Wed, 30 Oct 2019 23:27:50 +0000 (19:27 -0400)
In python 3 the colors need to be strings and not bytes:

This was the equivalent of

>> print("%s" % b"1")
"b'1'"

since the colors were bytes the call to dvipng was something like

dvipng -Ttight -depth -height -D 115 -fg "b'rgb 0.937255 0.941176 0.945098'" -bg "b'rgb 0.137255 0.149020 0.160784'"  "lyxpreviewxBJEqm.dvi"

Note the "b'rgb after both -fg and -bg that wrecked havoc and thus dvipng failed. That was the difference between python2 and python3 calls.

(cherry picked from commit 8dd31803b16d1fb6b30772955188c3595437f64a)

lib/scripts/lyxpreview2bitmap.py
status.23x

index e4bf1314a40c7e058e394e01e7ca8e11627db513..ecefdaf9413fa776902c004a82f2190909f43e51 100755 (executable)
@@ -373,6 +373,7 @@ def main(argv):
     dir, latex_file = os.path.split(input_path)
 
     # Echo the settings
+    progress("Running Python %s" % str(sys.version_info[:3]))
     progress("Starting %s..." % script_name)
     progress("Output format: %s" % output_format)
     progress("Foreground color: %s" % fg_color)
@@ -394,6 +395,11 @@ def main(argv):
     fg_color_dvipng = make_texcolor(fg_color, False)
     bg_color_dvipng = make_texcolor(bg_color, False)
 
+    # For python > 2 convert bytes to string
+    if not PY2:
+        fg_color_dvipng = fg_color_dvipng.decode('ascii')
+        bg_color_dvipng = bg_color_dvipng.decode('ascii')
+
     # External programs used by the script.
     latex = find_exe_or_terminate(latex or latex_commands)
     bibtex = find_exe(bibtex or bibtex_commands)
index a9f823323f577d72b8d13f6d2db0028f99818ce8..93202c5d00e2a160e57e12451b895b87c2967974 100644 (file)
@@ -162,6 +162,8 @@ What's new
 
 - Fix TeX file listing with the Nix package manager.
 
+- Fix Python detection routines, and so instant preview on some platforms
+  (bug 11282).
 
 
 * DOCUMENTATION AND LOCALIZATION