@@ -310,6 +310,7 @@ def set_learner(self, learner, key):
310310 learner : Optional[Orange.base.Learner]
311311 key : Any
312312 """
313+ self .cancel ()
313314 if key in self .learners and learner is None :
314315 # Removed
315316 self ._invalidate ([key ])
@@ -327,6 +328,7 @@ def set_train_data(self, data):
327328 ----------
328329 data : Optional[Orange.data.Table]
329330 """
331+ self .cancel ()
330332 self .Information .data_sampled .clear ()
331333 self .Error .train_data_empty .clear ()
332334 self .Error .class_required .clear ()
@@ -390,6 +392,7 @@ def set_test_data(self, data):
390392 ----------
391393 data : Optional[Orange.data.Table]
392394 """
395+ self .cancel ()
393396 self .Information .test_data_sampled .clear ()
394397 self .Error .test_data_empty .clear ()
395398 if data is not None and not data :
@@ -445,11 +448,13 @@ def set_preprocessor(self, preproc):
445448 """
446449 Set the input preprocessor to apply on the training data.
447450 """
451+ self .cancel ()
448452 self .preprocessor = preproc
449453 self ._invalidate ()
450454
451455 def handleNewSignals (self ):
452456 """Reimplemented from OWWidget.handleNewSignals."""
457+ self .cancel ()
453458 self ._update_class_selection ()
454459 self .score_table .update_header (self .scorers )
455460 self .update_stats_model ()
@@ -814,8 +819,9 @@ def progress_callback(finished):
814819 task .progress_changed .connect (self .setProgressValue )
815820 task .watcher .finished .connect (self .__task_complete )
816821
822+ self .Outputs .evaluations_results .invalidate ()
823+ self .Outputs .predictions .invalidate ()
817824 self .progressBarInit ()
818- self .setBlocking (True )
819825 self .setStatusMessage ("Running" )
820826
821827 self .__state = State .Running
@@ -826,7 +832,6 @@ def __task_complete(self, result: 'Future[Results]'):
826832 # handle a completed task
827833 assert self .thread () is QThread .currentThread ()
828834 assert self .__task is not None and self .__task .future is result
829- self .setBlocking (False )
830835 self .progressBarFinished ()
831836 self .setStatusMessage ("" )
832837 assert result .done ()
@@ -878,7 +883,6 @@ def cancel(self):
878883 task .cancel ()
879884 task .progress_changed .disconnect (self .setProgressValue )
880885 task .watcher .finished .disconnect (self .__task_complete )
881- # self.setBlocking(False)
882886 self .progressBarFinished ()
883887
884888 def onDeleteWidget (self ):
0 commit comments