Proper detection whether SCTP is available. Do not update player names on configuration change if network client is running.
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#include "session.h"
|
||||
#include "configfile.h"
|
||||
#include "tinyxml.h"
|
||||
#include <net/socket_startup.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
@@ -90,6 +91,8 @@ void joinNetworkGameDialogImpl::exec() {
|
||||
fillServerProfileList();
|
||||
}
|
||||
|
||||
checkBox_sctp->setEnabled(socket_has_sctp());
|
||||
|
||||
QDialog::exec();
|
||||
|
||||
}
|
||||
|
||||
@@ -511,10 +511,6 @@ mainWindowImpl::mainWindowImpl(ConfigFile *c, QMainWindow *parent)
|
||||
myWaitingForServerGameDialog = new waitForServerToStartGameDialogImpl(this);
|
||||
myAboutPokerthDialog = new aboutPokerthImpl(this);
|
||||
|
||||
//dialog settings
|
||||
// mySettingsDialog->checkBox_useSctp->setEnabled(mySession->hasSctp());
|
||||
// myJoinNetworkGameDialog->checkBox_sctp->setEnabled(mySession->hasSctp());
|
||||
|
||||
// //ShortCuts
|
||||
// QShortcut *quitPokerTHKeys = new QShortcut(QKeySequence(Qt::Key_Control + Qt::Key_Q), this);
|
||||
// connect( quitPokerTHKeys, SIGNAL(activated() ), actionQuit, SLOT( trigger() ) );
|
||||
@@ -798,7 +794,7 @@ void mainWindowImpl::callSettingsDialog() {
|
||||
else { groupBox_RightToolBox->hide(); }
|
||||
|
||||
//Falls Spielernamen geändert wurden --> neu zeichnen --> erst beim nächsten Neustart neu ausgelesen
|
||||
if (mySettingsDialog->getPlayerNickIsChanged() && mySession->getCurrentGame()) {
|
||||
if (mySettingsDialog->getPlayerNickIsChanged() && mySession->getCurrentGame() && !mySession->isNetworkClientRunning()) {
|
||||
|
||||
HandInterface *currentHand = mySession->getCurrentGame()->getCurrentHand();
|
||||
currentHand->getPlayerArray()[0]->setMyName(mySettingsDialog->lineEdit_HumanPlayerName->text().toUtf8().constData());
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "myavatarlistitem.h"
|
||||
|
||||
#include "configfile.h"
|
||||
#include <net/socket_startup.h>
|
||||
#include <iostream>
|
||||
|
||||
|
||||
@@ -135,7 +136,8 @@ void settingsDialogImpl::exec() {
|
||||
lineEdit_logDir->setText(QString::fromUtf8(myConfig->readConfigString("LogDir").c_str()));
|
||||
spinBox_logStoreDuration->setValue(myConfig->readConfigInt("LogStoreDuration"));
|
||||
comboBox_logInterval->setCurrentIndex(myConfig->readConfigInt("LogInterval"));
|
||||
|
||||
|
||||
checkBox_useSctp->setEnabled(socket_has_sctp());
|
||||
|
||||
QDialog::exec();
|
||||
|
||||
|
||||
@@ -22,6 +22,10 @@
|
||||
|
||||
#include <net/socket_startup.h>
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
bool
|
||||
socket_startup()
|
||||
{
|
||||
@@ -33,3 +37,18 @@ socket_cleanup()
|
||||
{
|
||||
}
|
||||
|
||||
bool
|
||||
socket_has_sctp()
|
||||
{
|
||||
#ifdef IPPROTO_SCTP
|
||||
int test = socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP);
|
||||
|
||||
if (test == -1)
|
||||
return false;
|
||||
close(test);
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -16,12 +16,14 @@
|
||||
* Free Software Foundation, Inc., *
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||
***************************************************************************/
|
||||
/* Socket startup/cleanup functions (required for Win32). */
|
||||
/* Socket startup/cleanup/detection functions. */
|
||||
#ifndef _SOCKET_STARTUP_H_
|
||||
#define _SOCKET_STARTUP_H_
|
||||
|
||||
bool socket_startup();
|
||||
void socket_cleanup();
|
||||
|
||||
bool socket_has_sctp();
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -66,3 +66,9 @@ socket_cleanup()
|
||||
WSACleanup();
|
||||
}
|
||||
|
||||
bool
|
||||
socket_has_sctp()
|
||||
{
|
||||
return false; /* no SCTP on Windows */
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -34,7 +34,7 @@
|
||||
using namespace std;
|
||||
|
||||
Session::Session(GuiInterface *g, ConfigFile *c)
|
||||
: currentGameID(0), myNetClient(0), myNetServer(0), myGui(g), myConfig(c), thisHasSctp(0)
|
||||
: currentGameID(0), myNetClient(0), myNetServer(0), myGui(g), myConfig(c)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -210,3 +210,4 @@ bool Session::isNetworkClientRunning() const
|
||||
// TODO
|
||||
return myNetClient != NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -63,10 +63,6 @@ public:
|
||||
|
||||
bool isNetworkClientRunning() const; // TODO hack
|
||||
|
||||
void setHasSctp ( bool theValue ) { thisHasSctp = theValue; }
|
||||
bool hasSctp() const { return thisHasSctp; }
|
||||
|
||||
|
||||
private:
|
||||
|
||||
int currentGameID;
|
||||
@@ -77,9 +73,6 @@ private:
|
||||
boost::shared_ptr<Game> currentGame;
|
||||
GuiInterface *myGui;
|
||||
ConfigFile *myConfig;
|
||||
|
||||
bool thisHasSctp;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user