From 34ff563dbe7e5267587dae405c82d4b9f2934182 Mon Sep 17 00:00:00 2001 From: Maurice Raybaud <mauriceraybaud@hotmail.fr> Date: Fri, 21 Jan 2011 18:24:07 +0000 Subject: [PATCH] Fix to allow 32 bits blender with 64 bits pov and vice versa --- render_povray/render.py | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/render_povray/render.py b/render_povray/render.py index 324bf3c1d..5e7a9393a 100644 --- a/render_povray/render.py +++ b/render_povray/render.py @@ -1503,10 +1503,37 @@ class PovrayRender(bpy.types.RenderEngine): import winreg regKey = winreg.OpenKey(winreg.HKEY_CURRENT_USER, 'Software\\POV-Ray\\v3.7\\Windows') + #64 bits blender if bitness == 64: - pov_binary = winreg.QueryValueEx(regKey, 'Home')[0] + '\\bin\\pvengine64' + try: + pov_binary = winreg.QueryValueEx(regKey, 'Home')[0] + '\\bin\\pvengine64' + except OSError: + # someone might run povray 32 bits on a 64 bits blender machine + try: + pov_binary = winreg.QueryValueEx(regKey, 'Home')[0] + '\\bin\\pvengine' + except OSError: + print("POV-Ray 3.7: could not execute '%s', possibly POV-Ray isn't installed" % pov_binary) + else: + print("POV-Ray 3.7 64 bits could not execute, running 32 bits instead") + else: + print("POV-Ray 3.7 64 bits found") + + + #32 bits blender else: - pov_binary = winreg.QueryValueEx(regKey, 'Home')[0] + '\\bin\\pvengine' + try: + pov_binary = winreg.QueryValueEx(regKey, 'Home')[0] + '\\bin\\pvengine' + # someone might also run povray 64 bits with a 32 bits build of blender. + except OSError: + try: + pov_binary = winreg.QueryValueEx(regKey, 'Home')[0] + '\\bin\\pvengine64' + except OSError: + print("POV-Ray 3.7: could not execute '%s', possibly POV-Ray isn't installed" % pov_binary) + else: + print("Running POV-Ray 3.7 64 bits build with 32 bits Blender, \nYou might want to run Blender 64 bits as well.") + else: + print("POV-Ray 3.7 32 bits found") + else: # DH - added -d option to prevent render window popup which leads to segfault on linux extra_args.append('-d') -- GitLab