diff --git a/orangecanvas/application/canvasmain.py b/orangecanvas/application/canvasmain.py index 3c6b05229..13e28427a 100644 --- a/orangecanvas/application/canvasmain.py +++ b/orangecanvas/application/canvasmain.py @@ -52,6 +52,7 @@ from ..scheme import Scheme, IncompatibleChannelTypeError, SchemeNode from ..scheme import readwrite from ..scheme.readwrite import UnknownWidgetDefinition +from ..scheme.node import UserMessage from ..gui.dropshadow import DropShadowFrame from ..gui.dock import CollapsibleDockWidget from ..gui.quickhelp import QuickHelpTipEvent @@ -1306,6 +1307,15 @@ def load(fileobj, warning_handler=None, fileobj, warning_handler=None, data_deserializer=data_deserializer ) + for e in list(errors): + if isinstance(e, readwrite.UnsupportedPickleFormatError): + if e.node is not None and e.node in new_scheme.nodes: + e.node.set_state_message( + UserMessage( + "Did not restore settings", UserMessage.Warning, + message_id="-properties-restore-error-data", + )) + errors.remove(e) except Exception: # pylint: disable=broad-except log.exception("") message_critical(