diff --git a/orangewidget/utils/signals.py b/orangewidget/utils/signals.py index 2d6d15cf4..3a4fb8656 100755 --- a/orangewidget/utils/signals.py +++ b/orangewidget/utils/signals.py @@ -16,6 +16,8 @@ InputSignal, OutputSignal, Single, Multiple, Default, NonDefault, Explicit, Dynamic ) +# imported here for easier use by widgets, pylint: disable=unused-import +from orangecanvas.scheme.signalmanager import LazyValue from orangewidget.utils.messagewidget import MessagesWidget from orangewidget.workflow.utils import WeakKeyDefaultDict diff --git a/orangewidget/workflow/widgetsscheme.py b/orangewidget/workflow/widgetsscheme.py index ce5822696..53446c57f 100644 --- a/orangewidget/workflow/widgetsscheme.py +++ b/orangewidget/workflow/widgetsscheme.py @@ -40,7 +40,7 @@ from orangecanvas.registry import WidgetDescription, OutputSignal from orangecanvas.scheme.signalmanager import ( - SignalManager, Signal, compress_signals + SignalManager, Signal, compress_signals, LazyValue ) from orangecanvas.scheme import Scheme, SchemeNode from orangecanvas.scheme.node import UserMessage @@ -850,6 +850,8 @@ def process_signal_input_default( link = signal.link index = signal.index value = signal.value + if LazyValue.is_lazy(value): + value = value.get_value() index_existing = index_of(inputs, signal, eq=same_input_slot) if index < 0 and index_existing is not None: diff --git a/setup.py b/setup.py index d5934832a..4ea61876e 100755 --- a/setup.py +++ b/setup.py @@ -57,7 +57,7 @@ "pyqtgraph", "AnyQt>=0.1.0", "typing_extensions>=3.7.4.3", - "orange-canvas-core>=0.1.29,<0.2a", + "orange-canvas-core>=0.1.30,<0.2a", 'appnope; sys_platform=="darwin"' ]