Seite 1 von 1

Programm stürzt bei QWebView.load Aufruf ab

Verfasst: 3. März 2013 17:58
von klanze
Hallo,

ich habe ein QWebView in mein Programm eingebaut. Im QTCreator bekommt es in den Eigenschaften als (Start)-Url folgende zugewiesen:
http://www.immobilienscout24.de/Suche/S-T/Haus-Kauf/Nordrhein-Westfalen/Koeln/-/-/-/EURO--250000,00?enteredFrom=result_list

Zu dem Programm hab ich nun ein QLineEdit hinzugefügt und bei Klick auf einen Button wird das QWebView mit folgender neuer URL geladen:
http://www.immobilienscout24.de/Suche/S-T/P-2/Haus-Kauf/Nordrhein-Westfalen/Koeln/-/-/-/EURO--250000,00?pagerReporting=true

Das QWebView lädt die URL zunächst, zeigt die Seite zunächst auch an, dann stürzt das Programm aber ab.
Die jeweilige Seite selber scheint in Ordnung, da jede Seite, sofern man sie als erste vom QWebView aufrufen lässt, problemlos funktioniert.

Erst beim erneuten Load Aufruf des QWebViews stürzt das Programm ab.

Es scheint mit der URL zusammenzuhängen. Einfache URLs wie http://google.de kann man problemlos mittels Klick auf den Button aufrufen.

QTCreator selber stürzt teilweise auch dann ab, wenn man die obigen URLs im QTCreator dem QWebView in den Eigenschaften als neue (Start)-URL zuweist und zuvor eine der obigen URLs dort vorhanden war.

Das Problem tritt nicht regelmäßig auf, es scheint aber häufiger zu werden, je häufiger man das Programm im QTCreator ausführt oder debugged.

Als Fehlermeldung wird beim Debuggen angezeigt:

Der Prozess wurde nach Erhalt eines Signals vom Betriebssystem angehalten.
Name des Signals: SIGSEGV
Bedeutung: Segmentation fault

Im Assembler Code, der dann zu sehen ist, sieht man, dass es immer die gleiche Stelle ist.
Darunter wird angezeigt, dass sich das Programm in der Funktion inflateEnd in der Qtcored4.dll befindet.


Hat irgendjemand eine Idee was das Problem ist?

Angehängt, der ganz simple code aus der mainwindow.cpp:

Code: Alles auswählen

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QUrl>
#include <QWebView>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    QUrl url = QUrl::fromUserInput(ui->lineEdit->text());
    ui->webView->load(url);
}