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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Ebb <matt@mke3.net>2010-04-05 10:45:44 +0400
committerMatt Ebb <matt@mke3.net>2010-04-05 10:45:44 +0400
commit547838476109b909259a7608e4c092214da91387 (patch)
treea22de19a48c255710ced448978cf0f77fa984331 /release
parent75df05b83fa2b54893fcd7016cb468d9d9a7ac08 (diff)
Fix [#21886] OBJ export crashes if attempted while in edit mode
Didn't crash for me, but did export incorrectly since editmode changes weren't flushed. Fixed this by setting all exporters to go back to object mode before exporting. Also cleaned up some naming in exporter creator strings, it's "Blender" not "Blender3D".
Diffstat (limited to 'release')
-rw-r--r--release/scripts/io/export_3ds.py2
-rw-r--r--release/scripts/io/export_fbx.py5
-rw-r--r--release/scripts/io/export_obj.py13
-rw-r--r--release/scripts/io/export_ply.py3
-rw-r--r--release/scripts/io/export_x3d.py3
-rw-r--r--release/scripts/ui/space_info.py2
6 files changed, 17 insertions, 11 deletions
diff --git a/release/scripts/io/export_3ds.py b/release/scripts/io/export_3ds.py
index b65332c931f..d46cc712e9a 100644
--- a/release/scripts/io/export_3ds.py
+++ b/release/scripts/io/export_3ds.py
@@ -942,6 +942,8 @@ def save_3ds(filename, context):
sce = context.scene
# sce= bpy.data.scenes.active
+ bpy.ops.object.mode_set(mode='OBJECT')
+
# Initialize the main chunk (primary):
primary = _3ds_chunk(PRIMARY)
# Add version chunk:
diff --git a/release/scripts/io/export_fbx.py b/release/scripts/io/export_fbx.py
index a69addf72f5..9dd3a68f4da 100644
--- a/release/scripts/io/export_fbx.py
+++ b/release/scripts/io/export_fbx.py
@@ -344,6 +344,8 @@ def write(filename, batch_objects = None, \
BATCH_OWN_DIR = False
):
+ bpy.ops.object.mode_set(mode='OBJECT')
+
# ----------------- Batch support!
if BATCH_ENABLE:
if os == None: BATCH_OWN_DIR = False
@@ -388,7 +390,6 @@ def write(filename, batch_objects = None, \
orig_sce = context.scene
# orig_sce = bpy.data.scenes.active
-
new_fbxpath = fbxpath # own dir option modifies, we need to keep an original
for data in data_seq: # scene or group
newname = BATCH_FILE_PREFIX + bpy.utils.clean_name(data.name)
@@ -651,7 +652,7 @@ def write(filename, batch_objects = None, \
}''' % (curtime))
file.write('\nCreationTime: "%.4i-%.2i-%.2i %.2i:%.2i:%.2i:000"' % curtime)
- file.write('\nCreator: "Blender3D version %s"' % bpy.app.version_string)
+ file.write('\nCreator: "Blender version %s"' % bpy.app.version_string)
pose_items = [] # list of (fbxName, matrix) to write pose data for, easier to collect allong the way
diff --git a/release/scripts/io/export_obj.py b/release/scripts/io/export_obj.py
index 6ea00a74435..c10a698c9d3 100644
--- a/release/scripts/io/export_obj.py
+++ b/release/scripts/io/export_obj.py
@@ -88,7 +88,7 @@ def write_mtl(scene, filename, copy_images, mtl_dict):
file = open(filename, "w")
# XXX
-# file.write('# Blender3D MTL File: %s\n' % Blender.Get('filename').split('\\')[-1].split('/')[-1])
+# file.write('# Blender MTL File: %s\n' % Blender.Get('filename').split('\\')[-1].split('/')[-1])
file.write('# Material Count: %i\n' % len(mtl_dict))
# Write material/image combinations we have used.
for key, (mtl_mat_name, mat, img) in mtl_dict.items():
@@ -361,8 +361,8 @@ def write(filename, objects, scene,
file = open(filename, "w")
# Write Header
- file.write('# Blender3D v%s OBJ File: %s\n' % (bpy.app.version_string, bpy.data.filename.split('/')[-1].split('\\')[-1] ))
- file.write('# www.blender3d.org\n')
+ file.write('# Blender v%s OBJ File: %s\n' % (bpy.app.version_string, bpy.data.filename.split('/')[-1].split('\\')[-1] ))
+ file.write('# www.blender.org\n')
# Tell the obj file what material file to use.
if EXPORT_MTL:
@@ -816,14 +816,15 @@ def do_export(filename, context,
EXPORT_KEEP_VERT_ORDER = False,
EXPORT_POLYGROUPS = False,
EXPORT_CURVE_AS_NURBS = True):
- # Window.EditMode(0)
- # Window.WaitCursor(1)
-
+
base_name, ext = splitExt(filename)
context_name = [base_name, '', '', ext] # Base name, scene name, frame number, extension
orig_scene = context.scene
+ # Exit edit mode before exporting, so current object states are exported properly.
+ bpy.ops.object.mode_set(mode='OBJECT')
+
# if EXPORT_ALL_SCENES:
# export_scenes = bpy.data.scenes
# else:
diff --git a/release/scripts/io/export_ply.py b/release/scripts/io/export_ply.py
index f3c6541f476..23a3eb8b9ee 100644
--- a/release/scripts/io/export_ply.py
+++ b/release/scripts/io/export_ply.py
@@ -99,6 +99,7 @@ def write(filename, scene, ob, \
Window.WaitCursor(1)
"""
+ bpy.ops.object.mode_set(mode='OBJECT')
#mesh = BPyMesh.getMeshFromObject(ob, None, EXPORT_APPLY_MODIFIERS, False, scn) # XXX
if EXPORT_APPLY_MODIFIERS:
@@ -202,7 +203,7 @@ def write(filename, scene, ob, \
file.write('ply\n')
file.write('format ascii 1.0\n')
- file.write('comment Created by Blender3D %s - www.blender.org, source file: %s\n' % (bpy.app.version_string, bpy.data.filename.split('/')[-1].split('\\')[-1]))
+ file.write('comment Created by Blender %s - www.blender.org, source file: %s\n' % (bpy.app.version_string, bpy.data.filename.split('/')[-1].split('\\')[-1]))
file.write('element vertex %d\n' % len(ply_verts))
diff --git a/release/scripts/io/export_x3d.py b/release/scripts/io/export_x3d.py
index f1ab8cd3de7..dccc5808bc5 100644
--- a/release/scripts/io/export_x3d.py
+++ b/release/scripts/io/export_x3d.py
@@ -1155,8 +1155,9 @@ def x3d_export(filename,
scene = context.scene
- # scene = Blender.Scene.GetCurrent()
world = scene.world
+
+ bpy.ops.object.mode_set(mode='OBJECT')
# XXX these are global textures while .Get() returned only scene's?
alltextures = bpy.data.textures
diff --git a/release/scripts/ui/space_info.py b/release/scripts/ui/space_info.py
index e1dccc0c9f0..0683a3cb763 100644
--- a/release/scripts/ui/space_info.py
+++ b/release/scripts/ui/space_info.py
@@ -349,7 +349,7 @@ class HELP_OT_blender_eshop(HelpOperator):
'''Buy official Blender resources and merchandise online'''
bl_idname = "help.blender_eshop"
bl_label = "Blender e-Shop"
- _url = 'http://www.blender3d.org/e-shop'
+ _url = 'http://www.blender.org/e-shop'
class HELP_OT_developer_community(HelpOperator):