Skip to content
  • Frank Reininghaus's avatar
    Find out the main window by calling the parent widget's window() member · 4dc8ea34
    Frank Reininghaus authored
    KFileItemModel calls the dir lister's setMainWindow() method to make
    sure that the dir lister caches authentication data. However, the method
    used to determine the main window (qApp->activeWindow()) is not
    guaranteed to yield the DolphinMainWindow or the KonqMainWindow. In
    particular, if "Split View" is enabled in Dolphin's settings dialog, the
    active window is the dialog, and when it is closed, any later access to
    the stored pointer leads to a crash.
    
    A better method is to verify that the model's parent is a QWidget and
    then use this widget's window(). I had to make a small modification in
    DolphinMainWindow to make sure that it also works correctly when the
    view is split (the new view container had been created with a 0 parent
    previously).
    
    I tested it in Dolphin and Konqueror and verified that the "main window"
    passed to the dir lister is really the application's main window.
    
    BUG: 306459
    FIXED-IN: 4.9.3
    4dc8ea34