Changeset 11524:73f80557851f in orange


Ignore:
Timestamp:
05/16/13 13:20:57 (11 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Fix for a possible segfault while filtering the items in a menu.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeCanvas/document/quickmenu.py

    r11523 r11524  
    169169 
    170170    def __onEntered(self, index): 
    171         self.view().selectionModel().select( 
    172             index, 
    173             QItemSelectionModel.ClearAndSelect 
    174         ) 
    175         self.view().setCurrentIndex(index) 
     171        if not index.isValid(): 
     172            return 
     173 
     174        if self.view().state() != QTreeView.NoState: 
     175            # The item view can emit an 'entered' signal while the model/view 
     176            # is being changed (rows removed). When this happens, setting the 
     177            # current item can segfault (in QTreeView::scrollTo). 
     178            return 
     179 
     180        if index.flags() & Qt.ItemIsEnabled: 
     181            self.view().selectionModel().setCurrentIndex( 
     182                index, 
     183                QItemSelectionModel.ClearAndSelect 
     184            ) 
    176185 
    177186 
Note: See TracChangeset for help on using the changeset viewer.