From fcf44911a35cabb8cf3934a0fd2ead8dd5a53313 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Tue, 23 Aug 2016 13:04:31 -0700 Subject: [PATCH] Fix Windows warning --- interface/src/ui/PreferencesDialog.cpp | 11 +++++------ libraries/networking/src/NodeList.cpp | 8 +++++--- libraries/shared/src/Preferences.h | 9 +++++++++ 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/interface/src/ui/PreferencesDialog.cpp b/interface/src/ui/PreferencesDialog.cpp index aaecf8ae37..0ba057a5e3 100644 --- a/interface/src/ui/PreferencesDialog.cpp +++ b/interface/src/ui/PreferencesDialog.cpp @@ -337,14 +337,13 @@ void setupPreferences() { auto nodelist = DependencyManager::get(); { - const int MIN_PORT_NUMBER { 0 }; - const int MAX_PORT_NUMBER { 65535 }; - auto getter = [nodelist] { return nodelist->getSocketLocalPort(); }; - auto setter = [nodelist](quint16 preset) { nodelist->setSocketLocalPort(preset); }; - auto preference = new SpinnerPreference(RENDER, "Listening Port", getter, setter); + static const int MIN_PORT_NUMBER { 0 }; + static const int MAX_PORT_NUMBER { 65535 }; + auto getter = [nodelist] { return static_cast(nodelist->getSocketLocalPort()); }; + auto setter = [nodelist](int preset) { nodelist->setSocketLocalPort(static_cast(preset)); }; + auto preference = new IntSpinnerPreference(RENDER, "Listening Port", getter, setter); preference->setMin(MIN_PORT_NUMBER); preference->setMax(MAX_PORT_NUMBER); - preference->setStep(1); preferences->addPreference(preference); } } diff --git a/libraries/networking/src/NodeList.cpp b/libraries/networking/src/NodeList.cpp index dd6aa848ba..2101395a23 100644 --- a/libraries/networking/src/NodeList.cpp +++ b/libraries/networking/src/NodeList.cpp @@ -252,9 +252,11 @@ void NodeList::setSocketLocalPort(quint16 socketLocalPort) { Q_ARG(quint16, socketLocalPort)); return; } - _nodeSocket.rebind(socketLocalPort); - reset(); - NODELIST_LOCAL_PORT.set(socketLocalPort); + if (_nodeSocket.localPort() != socketLocalPort) { + reset(); + _nodeSocket.rebind(socketLocalPort); + NODELIST_LOCAL_PORT.set(socketLocalPort); + } } void NodeList::addNodeTypeToInterestSet(NodeType_t nodeTypeToAdd) { diff --git a/libraries/shared/src/Preferences.h b/libraries/shared/src/Preferences.h index 94a8f43c4e..5a4b3f2096 100644 --- a/libraries/shared/src/Preferences.h +++ b/libraries/shared/src/Preferences.h @@ -254,6 +254,15 @@ public: Type getType() override { return Spinner; } }; +class IntSpinnerPreference : public IntPreference { + Q_OBJECT +public: + IntSpinnerPreference(const QString& category, const QString& name, Getter getter, Setter setter) + : IntPreference(category, name, getter, setter) { } + + Type getType() override { return Spinner; } +}; + class EditPreference : public StringPreference { Q_OBJECT Q_PROPERTY(QString placeholderText READ getPlaceholderText CONSTANT)