From 1ae72aeb755d4dfaa6eb2a07a08eb809624f11f7 Mon Sep 17 00:00:00 2001 From: doitux Date: Thu, 22 Apr 2010 12:56:56 +0000 Subject: [PATCH] bugfix: 0000016: Join network game without giving address = crash --- src/gui/qt/joinnetworkgamedialog.ui | 44 ++++++++++--------- .../joinnetworkgamedialogimpl.cpp | 15 ++++++- .../joinnetworkgamedialogimpl.h | 1 + 3 files changed, 39 insertions(+), 21 deletions(-) diff --git a/src/gui/qt/joinnetworkgamedialog.ui b/src/gui/qt/joinnetworkgamedialog.ui index faaad98b..0ca20873 100644 --- a/src/gui/qt/joinnetworkgamedialog.ui +++ b/src/gui/qt/joinnetworkgamedialog.ui @@ -69,24 +69,28 @@ Connect to Network Game - - - - Profile Name: - - - lineEdit_profileName - - + + + + + + Profile Name: + + + lineEdit_profileName + + + + + + + myServerProfile1 + + + + - - - - myServerProfile1 - - - - + @@ -126,7 +130,7 @@ - + 6 @@ -169,7 +173,7 @@ p, li { white-space: pre-wrap; } - + 6 @@ -212,7 +216,7 @@ p, li { white-space: pre-wrap; } - + Server Profiles diff --git a/src/gui/qt/joinnetworkgamedialog/joinnetworkgamedialogimpl.cpp b/src/gui/qt/joinnetworkgamedialog/joinnetworkgamedialogimpl.cpp index 515f0c95..b5318672 100644 --- a/src/gui/qt/joinnetworkgamedialog/joinnetworkgamedialogimpl.cpp +++ b/src/gui/qt/joinnetworkgamedialog/joinnetworkgamedialogimpl.cpp @@ -44,7 +44,8 @@ joinNetworkGameDialogImpl::joinNetworkGameDialogImpl(QWidget *parent, ConfigFile treeWidget->setDisabled(TRUE); } - connect( lineEdit_ipAddress, SIGNAL( editingFinished ()), this, SLOT( checkIp() ) ); + connect( lineEdit_ipAddress, SIGNAL( editingFinished()), this, SLOT( checkIp() ) ); + connect( lineEdit_ipAddress, SIGNAL( textChanged(QString)), this, SLOT( connectButtonTest() ) ); connect( pushButton_connect, SIGNAL( clicked() ), this, SLOT( startClient() ) ); connect( pushButton_save, SIGNAL( clicked() ), this, SLOT( saveServerProfile() ) ); @@ -98,6 +99,8 @@ void joinNetworkGameDialogImpl::exec() { checkBox_ipv6->setEnabled(socket_has_ipv6()); checkBox_sctp->setEnabled(socket_has_sctp()); + connectButtonTest(); + QDialog::exec(); } @@ -286,3 +289,13 @@ void joinNetworkGameDialogImpl::checkIp() { QString tmp = lineEdit_ipAddress->text(); lineEdit_ipAddress->setText(tmp.remove(" ")); } + +void joinNetworkGameDialogImpl::connectButtonTest() { + + if(lineEdit_ipAddress->text().isEmpty()) { + pushButton_connect->setDisabled(TRUE); + } + else { + pushButton_connect->setDisabled(FALSE); + } +} diff --git a/src/gui/qt/joinnetworkgamedialog/joinnetworkgamedialogimpl.h b/src/gui/qt/joinnetworkgamedialog/joinnetworkgamedialogimpl.h index 5a224194..251f116a 100644 --- a/src/gui/qt/joinnetworkgamedialog/joinnetworkgamedialogimpl.h +++ b/src/gui/qt/joinnetworkgamedialog/joinnetworkgamedialogimpl.h @@ -49,6 +49,7 @@ public slots: void deleteServerProfile(); void keyPressEvent ( QKeyEvent * event ); void checkIp(); + void connectButtonTest(); }; #endif