@@ -358,6 +358,7 @@ def __init__(self):
358358 self .vizrank : ScatterPlotVizRank = None
359359 self .vizrank_button : QPushButton = None
360360 self .sampling : QGroupBox = None
361+ self ._xy_invalidated : bool = True
361362
362363 self .sql_data = None # Orange.data.sql.table.SqlTable
363364 self .attribute_selection_list = None # list of Orange.data.Variable
@@ -581,6 +582,8 @@ def handleNewSignals(self):
581582 self .attr_x , self .attr_y = self .attribute_selection_list [:2 ]
582583 self .attr_box .setEnabled (False )
583584 self .vizrank .setEnabled (False )
585+ self ._invalidated = self ._invalidated or self ._xy_invalidated
586+ self ._xy_invalidated = False
584587 super ().handleNewSignals ()
585588 if self ._domain_invalidated :
586589 self .graph .update_axes ()
@@ -591,7 +594,7 @@ def handleNewSignals(self):
591594 def set_shown_attributes (self , attributes ):
592595 if attributes and len (attributes ) >= 2 :
593596 self .attribute_selection_list = attributes [:2 ]
594- self ._invalidated = self ._invalidated \
597+ self ._xy_invalidated = self ._xy_invalidated \
595598 or self .attr_x != attributes [0 ] \
596599 or self .attr_y != attributes [1 ]
597600 else :
0 commit comments