Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

18.07.2015, 19:30

Qt mehere Fenster -> "X11 connection breaks"

Abend!
Ich habe ein einwandfrei funktionierendes Projekt mit ein paar Widget 's drin. Nun trug es sich mal zu, dass ich für einen Exportiervorgang noch einen kleinen Dialog öffnen muss, um Input zu bekommen.
Also habe ich eine Qt-Designer-Formularklasse hinzugefügt, dort meinen kleinen Dialog gebaut und ihn ins Hauptfenster getan. Führe ich nun jedoch sein entsprechendes show oder exec aus, so erhalte ich die unheimlich hilfreiche Meldung The X11 connection broke (error 4). Did the X11 server die?. Sie ist dehalb so hilfreich, weil ich das ganze irgendwie nicht debuggen kann....
Gehe ich Schrittweise vor lande ich irgendwann in Assembly und dann gibts halt irgendwo da den Crash, bei dem der Debugger aber auch nicht anhält, alles bricht einfach ab.
Ich habe ein neues Projekt angelegt, um den Fehler irgendwie zu isolieren, aber das klappt einwandfrei!
Deswegen hier meine verzweifelten Fragen:

1. Wie kann ich denn die Wurzel dieses Übels aufspüren?
2. Was sind die typische Stolperfallen?

MfG
Check

2

18.07.2015, 21:59

Okay, we-teh-ef!
Ich habe nun nichts anderes gemacht, als ein neuen Dialog aus Verzweiflung hinzuzufügen und den an Stelle des "alten" genommen.
Mystischer Art und Weise funktioniert es nun, der einzige Unterschied ist jedoch nur der Name....
Das meine ich wörtlich, selbst vom Design total gleich. Der Code:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//alter Dialog mit Fehler, Header

#ifndef EXPORTCLASSDIALOG_HPP
#define EXPORTCLASSDIALOG_HPP

#include <QDialog>

namespace Ui
{
    class ExportClassDialog;
}

class ExportClassDialog : public QDialog
{
    Q_OBJECT

public:
    explicit ExportClassDialog(QWidget *parent = 0);
    ~ExportClassDialog();

private:
    Ui::ExportClassDialog *ui;
};

#endif // EXPORTCLASSDIALOG_HPP


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//neuer Dialog ohne Fehler, Header

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>

namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();

private:
    Ui::Dialog *ui;
};

#endif // DIALOG_H


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//alter Dialog mit Fehler, Source

#include "exportclassdialog.hpp"
#include "ui_exportclassdialog.h"

ExportClassDialog::ExportClassDialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::ExportClassDialog)
{
    ui->setupUi(this);

    this->setModal(true);
}

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


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//neuer Dialog ohne Fehler, Source

#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);

    this->setModal(true);
}

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


Wie gesagt, lediglich andere Namensgebung. Ich bin einfach nur fasziniert, trotz Bereinigung des Projekts geht es erst jetzt. Das gehört zu den Höhepunkten meiner WTF-Moments.

MfG
Check