@@ -64,14 +64,15 @@ class Error(widget.OWWidget.Error):
6464
6565 selection : list
6666
67+ settingsHandler = settings .DomainContextHandler ()
6768 # Selected disjoint subset indices
6869 selection = settings .Setting ([], schema_only = True )
6970 #: Output unique items (one output row for every unique instance `key`)
7071 #: or preserve all duplicates in the output.
7172 output_duplicates = settings .Setting (False )
7273 autocommit = settings .Setting (True )
7374 rowwise = settings .Setting (False )
74- selected_feature = None
75+ selected_feature = settings . ContextSetting ( None )
7576
7677 want_control_area = False
7778 graph_name = "scene"
@@ -144,6 +145,7 @@ def _resize(self):
144145 @check_sql_input
145146 def setData (self , data , key = None ):
146147 self .Error .too_many_inputs .clear ()
148+ self .closeContext ()
147149 if not self ._inputUpdate :
148150 self ._inputUpdate = True
149151 if key in self .data :
@@ -165,6 +167,10 @@ def setData(self, data, key=None):
165167 # Add a new input
166168 self .data [key ] = _InputData (key , data .name , data )
167169 self ._setInterAttributes ()
170+ self .selected_feature = None
171+ if self .data :
172+ some_data = next (iter (self .data .values ()))
173+ self .openContext (some_data .table .domain )
168174
169175 def data_equality (self ):
170176 """ Checks if all input datasets have same ids. """
0 commit comments