Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFolkert de Vries <folkert@folkertdev.nl>2016-08-13 21:16:36 +0300
committerFolkert de Vries <folkert@folkertdev.nl>2016-08-13 21:16:36 +0300
commitc8233ef40526e8d1ee1c0ee935ce4b2d4c148eb3 (patch)
treed62883cae0f18a8a5997ec0b74828c32047dfebc /render_freestyle_svg.py
parentfab62e930cce2a465b644be9291aa25b4c0c0a9c (diff)
Fix T46150: FreeStyle: SVG Export won't fill Contours
The issue was a change in defaults introduced in https://developer.blender.org/rBA861519e44adc5674545fa18202dc43c4c20f2d1d The fix is to use the old default in older (<= 2.67) versions.
Diffstat (limited to 'render_freestyle_svg.py')
-rw-r--r--render_freestyle_svg.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/render_freestyle_svg.py b/render_freestyle_svg.py
index 41f22f18..2d6484b0 100644
--- a/render_freestyle_svg.py
+++ b/render_freestyle_svg.py
@@ -159,7 +159,7 @@ def create_path(scene):
dirname = path
# otherwise, use current file's location as a start for the relative path
- elif file_dir_path:
+ elif bpy.data.is_saved and file_dir_path:
dirname = os.path.normpath(os.path.join(file_dir_path, path))
# otherwise, use the folder from which blender was called as the start
@@ -684,6 +684,21 @@ def register_namespaces(namespaces=namespaces):
if name != 'svg': # creates invalid xml
et.register_namespace(name, url)
+@persistent
+def handle_versions(self):
+ # We don't modify startup file because it assumes to
+ # have all the default values only.
+ if not bpy.data.is_saved:
+ return
+
+ # Revision https://developer.blender.org/rBA861519e44adc5674545fa18202dc43c4c20f2d1d
+ # changed the default for fills.
+ # fix by Sergey https://developer.blender.org/T46150
+ if bpy.data.version <= (2, 76, 0):
+ for linestyle in bpy.data.linestyles:
+ linestyle.use_export_fills = True
+
+
classes = (
SVGExporterPanel,
@@ -733,6 +748,9 @@ def register():
# register namespaces
register_namespaces()
+ # handle regressions
+ bpy.app.handlers.version_update.append(handle_versions)
+
def unregister():
@@ -754,6 +772,8 @@ def unregister():
parameter_editor.callbacks_lineset_post.remove(SVGPathShaderCallback.lineset_post)
parameter_editor.callbacks_lineset_post.remove(SVGFillShaderCallback.lineset_post)
+ bpy.app.handlers.version_update.remove(handle_versions)
+
if __name__ == "__main__":
register()