From 43f31f31a709d4264a47441f9374ca4c8843876a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Matos?= Date: Tue, 28 May 2019 16:22:32 +0100 Subject: [PATCH] Attempt to fix #11457 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. --- lib/scripts/lyxpreview2bitmap.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/scripts/lyxpreview2bitmap.py b/lib/scripts/lyxpreview2bitmap.py index e4bf1314a4..ecefdaf941 100755 --- a/lib/scripts/lyxpreview2bitmap.py +++ b/lib/scripts/lyxpreview2bitmap.py @@ -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) -- 2.39.5