Skip to content

Commit 8fda601

Browse files
committed
fix: don't try to load invalid images
1 parent 31e44bc commit 8fda601

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

ntp_operator.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -394,8 +394,8 @@ def _set_settings_defaults(self, node: Node) -> None:
394394
elif st == ST.IMAGE:
395395
if self._addon_dir is not None and attr is not None:
396396
if attr.source in {'FILE', 'GENERATED', 'TILED'}:
397-
self._save_image(attr)
398-
self._load_image(attr, f"{node_var}.{attr_name}")
397+
if self._save_image(attr):
398+
self._load_image(attr, f"{node_var}.{attr_name}")
399399
elif st == ST.IMAGE_USER:
400400
self._image_user_settings(attr, f"{node_var}.{attr_name}")
401401
elif st == ST.SIM_OUTPUT_ITEMS:
@@ -782,8 +782,8 @@ def _set_input_defaults(self, node: Node) -> None:
782782
elif input.bl_idname == 'NodeSocketImage':
783783
img = input.default_value
784784
if img is not None and self._addon_dir != None: # write in a better way
785-
self._save_image(img)
786-
self._load_image(img, f"{socket_var}.default_value")
785+
if self._save_image(img):
786+
self._load_image(img, f"{socket_var}.default_value")
787787
default_val = None
788788

789789
# materials
@@ -1040,7 +1040,7 @@ def _node_tree_settings(self, node: Node, attr_name: str) -> None:
10401040
self.report({'WARNING'}, (f"NodeToPython: Node tree dependency graph "
10411041
f"wasn't properly initialized"))
10421042

1043-
def _save_image(self, img: bpy.types.Image) -> None:
1043+
def _save_image(self, img: bpy.types.Image) -> bool:
10441044
"""
10451045
Saves an image to an image directory of the add-on
10461046
@@ -1049,13 +1049,13 @@ def _save_image(self, img: bpy.types.Image) -> None:
10491049
"""
10501050

10511051
if img is None:
1052-
return
1052+
return False
10531053

10541054
img_str = img_to_py_str(img)
10551055

10561056
if not img.has_data:
10571057
self.report({'WARNING'}, f"{img_str} has no data")
1058-
return
1058+
return False
10591059

10601060
# create image dir if one doesn't exist
10611061
img_dir = os.path.join(self._addon_dir, IMAGE_DIR_NAME)
@@ -1067,6 +1067,7 @@ def _save_image(self, img: bpy.types.Image) -> None:
10671067
img_path = f"{img_dir}/{img_str}"
10681068
if not os.path.exists(img_path):
10691069
img.save_render(img_path)
1070+
return True
10701071

10711072
def _load_image(self, img: bpy.types.Image, img_var: str) -> None:
10721073
"""

0 commit comments

Comments
 (0)