diff --git a/sidebar/SidebarMode.cpp b/sidebar/SidebarMode.cpp --- a/sidebar/SidebarMode.cpp +++ b/sidebar/SidebarMode.cpp @@ -221,7 +221,8 @@ class SidebarMode::Private { public: Private() - : quickWidget( nullptr ), + : toolTipManager( nullptr ), + quickWidget( nullptr ), moduleView( nullptr ), collection( nullptr ), activeCategory( -1 ), @@ -369,13 +370,18 @@ void SidebarMode::requestToolTip(int index, const QRectF &rect) { if (showToolTips()) { + if (!d->toolTipManager) { + d->toolTipManager = new ToolTipManager(d->searchModel, d->quickWidget); + } d->toolTipManager->requestToolTip(d->searchModel->index(index, 0), rect.toRect()); } } void SidebarMode::hideToolTip() { - d->toolTipManager->hideToolTip(); + if (d->toolTipManager) { + d->toolTipManager->hideToolTip(); + } } Q_INVOKABLE void SidebarMode::loadMostUsed(int index) @@ -495,8 +501,6 @@ d->quickWidget->installEventFilter(this); - d->toolTipManager = new ToolTipManager(d->searchModel, d->quickWidget); - d->placeHolderWidget = new QQuickWidget(d->mainWidget); d->placeHolderWidget->quickWindow()->setTitle(i18n("Most Used")); d->placeHolderWidget->setResizeMode(QQuickWidget::SizeRootObjectToView);