diff options
Diffstat (limited to 'src/views/viewextensionsfactory.cpp')
| -rw-r--r-- | src/views/viewextensionsfactory.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/views/viewextensionsfactory.cpp b/src/views/viewextensionsfactory.cpp index 1a395dea9..a52871ff4 100644 --- a/src/views/viewextensionsfactory.cpp +++ b/src/views/viewextensionsfactory.cpp @@ -73,8 +73,14 @@ ViewExtensionsFactory::ViewExtensionsFactory(QAbstractItemView* view, this, SLOT(slotZoomLevelChanged())); connect(viewModeController, SIGNAL(cancelPreviews()), this, SLOT(cancelPreviews())); + + // slotPreviewChanged() is connected as Qt::QueuedConnection to prevent performance + // issues when the directory lister changes its URL after the preview-changes have + // been applied. Usecase: Switch from directory A having no previews to + // directory B with previews (see sequence in DolphinView::setUrl()). connect(dolphinViewController->view(), SIGNAL(showPreviewChanged()), - this, SLOT(slotShowPreviewChanged())); + this, SLOT(slotShowPreviewChanged()), + Qt::QueuedConnection); // initialize selection manager m_selectionManager = new SelectionManager(view); |
