From f0b2b230e1cd4d35f2a95c3bad94e31ecdd70de1 Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Fri, 22 Nov 2013 18:45:06 +0100 Subject: Fix some eventual crashes while clicking engine favicons --- src/urlbar/completionwidget.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/urlbar/completionwidget.cpp') diff --git a/src/urlbar/completionwidget.cpp b/src/urlbar/completionwidget.cpp index fc29f089..51ebd9e2 100644 --- a/src/urlbar/completionwidget.cpp +++ b/src/urlbar/completionwidget.cpp @@ -190,7 +190,7 @@ void CompletionWidget::clear() QLayoutItem *child; while ((child = layout()->takeAt(0)) != 0) { - delete child->widget(); + child->widget()->deleteLater(); delete child; } _currentIndex = 0; @@ -307,14 +307,16 @@ bool CompletionWidget::eventFilter(QObject *obj, QEvent *ev) } } - hide(); emit chosenUrl(urlToLoad, type); kev->accept(); + hide(); if (type != Rekonq::CurrentTab) w->clear(); + return true; } + case Qt::Key_Escape: hide(); @@ -348,14 +350,15 @@ void CompletionWidget::setVisible(bool visible) void CompletionWidget::itemChosen(ListItem *item, Qt::MouseButton button, Qt::KeyboardModifiers modifier) { - if (button == Qt::MidButton - || modifier == Qt::ControlModifier) + KUrl u = item->url(); + + if (button == Qt::MidButton || modifier == Qt::ControlModifier) { - emit chosenUrl(item->url(), Rekonq::NewFocusedTab); + emit chosenUrl(u, Rekonq::NewFocusedTab); } else { - emit chosenUrl(item->url(), Rekonq::CurrentTab); + emit chosenUrl(u, Rekonq::CurrentTab); } // do it AFTER launching chosenUrl to get sure item exists -- cgit v1.2.1