Merge pull request #11 from OpenVR-Advanced-Settings/eliminate-warnings

Add compiler switches for treating warnings as errors, fix current warnings
This commit is contained in:
username223
2018-12-27 20:38:12 +01:00
committed by GitHub
19 changed files with 186 additions and 133 deletions
+22
View File
@@ -13,7 +13,29 @@ lessThan(QT_MINOR_VERSION, 6): error("requires Qt 5.6 or higher")
TARGET = AdvancedSettings TARGET = AdvancedSettings
TEMPLATE = app TEMPLATE = app
*msvc* {
#Removing -W3 from both FLAGS is necessary, otherwise compiler will give
#D9025: overriding '/W4' with '/W3'
QMAKE_CFLAGS_WARN_ON -= -W3
QMAKE_CXXFLAGS_WARN_ON -= -W3
QMAKE_CXXFLAGS += /W4 /wd4127
!*clang-msvc{
QMAKE_CXXFLAGS += /WX
}
}
*g++* {
QMAKE_CXXFLAGS += -Werror
}
#Look for anything clang that is not clang-msvc, since it does not
#allow all the same switches as regular clang.
*clang|*clang-g++|*clang-libc++ {
QMAKE_CXXFLAGS += -Werror
#All includes from the third-party directory will not warn.
QMAKE_CXXFLAGS += --system-header-prefix=third-party
}
SOURCES += src/main.cpp\ SOURCES += src/main.cpp\
src/overlaycontroller.cpp \ src/overlaycontroller.cpp \
src/tabcontrollers/AudioTabController.cpp \ src/tabcontrollers/AudioTabController.cpp \
+17 -18
View File
@@ -10,21 +10,6 @@
#include <iostream> #include <iostream>
#include "logging.h" #include "logging.h"
const char* logConfigFileName = "logging.conf";
const char* logConfigDefault =
"* GLOBAL:\n"
" FORMAT = \"[%level] %datetime{%Y-%M-%d %H:%m:%s}: %msg\"\n"
" FILENAME = \"AdvancedSettings.log\"\n"
" ENABLED = true\n"
" TO_FILE = true\n"
" TO_STANDARD_OUTPUT = true\n"
" MAX_LOG_FILE_SIZE = 2097152 ## 2MB\n"
"* TRACE:\n"
" ENABLED = false\n"
"* DEBUG:\n"
" ENABLED = false\n";
INITIALIZE_EASYLOGGINGPP INITIALIZE_EASYLOGGINGPP
void myQtMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg) { void myQtMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg) {
@@ -73,8 +58,8 @@ void installManifest(bool cleaninstall = false) {
if (apperror != vr::VRApplicationError_None) { if (apperror != vr::VRApplicationError_None) {
throw std::runtime_error(std::string("Could not add application manifest: ") + std::string(vr::VRApplications()->GetApplicationsErrorNameFromEnum(apperror))); throw std::runtime_error(std::string("Could not add application manifest: ") + std::string(vr::VRApplications()->GetApplicationsErrorNameFromEnum(apperror)));
} else if (!alreadyInstalled || cleaninstall) { } else if (!alreadyInstalled || cleaninstall) {
auto apperror = vr::VRApplications()->SetApplicationAutoLaunch(advsettings::OverlayController::applicationKey, true); auto app_error = vr::VRApplications()->SetApplicationAutoLaunch(advsettings::OverlayController::applicationKey, true);
if (apperror != vr::VRApplicationError_None) { if (app_error != vr::VRApplicationError_None) {
throw std::runtime_error(std::string("Could not set auto start: ") + std::string(vr::VRApplications()->GetApplicationsErrorNameFromEnum(apperror))); throw std::runtime_error(std::string("Could not set auto start: ") + std::string(vr::VRApplications()->GetApplicationsErrorNameFromEnum(apperror)));
} }
} }
@@ -141,6 +126,21 @@ enum ReturnErrorCode {
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
const char* logConfigFileName = "logging.conf";
const char* logConfigDefault =
"* GLOBAL:\n"
" FORMAT = \"[%level] %datetime{%Y-%M-%d %H:%m:%s}: %msg\"\n"
" FILENAME = \"AdvancedSettings.log\"\n"
" ENABLED = true\n"
" TO_FILE = true\n"
" TO_STANDARD_OUTPUT = true\n"
" MAX_LOG_FILE_SIZE = 2097152 ## 2MB\n"
"* TRACE:\n"
" ENABLED = false\n"
"* DEBUG:\n"
" ENABLED = false\n";
const bool desktop_mode = argument::CheckCommandLineArgument(argc, argv, argument::DESKTOP_MODE); const bool desktop_mode = argument::CheckCommandLineArgument(argc, argv, argument::DESKTOP_MODE);
const bool no_sound = argument::CheckCommandLineArgument(argc, argv, argument::NO_SOUND); const bool no_sound = argument::CheckCommandLineArgument(argc, argv, argument::NO_SOUND);
const bool no_manifest = argument::CheckCommandLineArgument(argc, argv, argument::NO_MANIFEST); const bool no_manifest = argument::CheckCommandLineArgument(argc, argv, argument::NO_MANIFEST);
@@ -256,5 +256,4 @@ int main(int argc, char *argv[]) {
LOG(FATAL) << e.what(); LOG(FATAL) << e.what();
return ReturnErrorCode::GENERAL_FAILURE; return ReturnErrorCode::GENERAL_FAILURE;
} }
return ReturnErrorCode::SUCCESS;
} }
+4 -4
View File
@@ -301,8 +301,8 @@ void OverlayController::OnRenderRequest() {
void OverlayController::renderOverlay() { void OverlayController::renderOverlay() {
if (!desktopMode) { if (!desktopMode) {
// skip rendering if the overlay isn't visible // skip rendering if the overlay isn't visible
if (!vr::VROverlay() || !vr::VROverlay()->IsOverlayVisible(m_ulOverlayHandle) && !vr::VROverlay()->IsOverlayVisible(m_ulOverlayThumbnailHandle)) if (!vr::VROverlay() || (!vr::VROverlay()->IsOverlayVisible(m_ulOverlayHandle) && !vr::VROverlay()->IsOverlayVisible(m_ulOverlayThumbnailHandle)))
return; return;
m_pRenderControl->polishItems(); m_pRenderControl->polishItems();
m_pRenderControl->sync(); m_pRenderControl->sync();
@@ -593,7 +593,7 @@ void OverlayController::AddOffsetToCollisionBounds(float offset[3], bool commit)
} }
} }
vr::VRChaperoneSetup()->SetWorkingCollisionBoundsInfo(collisionBounds, collisionBoundsCount); vr::VRChaperoneSetup()->SetWorkingCollisionBoundsInfo(collisionBounds, collisionBoundsCount);
delete collisionBounds; delete[] collisionBounds;
} }
if (commit && collisionBoundsCount > 0) { if (commit && collisionBoundsCount > 0) {
vr::VRChaperoneSetup()->CommitWorkingCopy(vr::EChaperoneConfigFile_Live); vr::VRChaperoneSetup()->CommitWorkingCopy(vr::EChaperoneConfigFile_Live);
@@ -621,7 +621,7 @@ void OverlayController::RotateCollisionBounds(float angle, bool commit) {
} }
} }
vr::VRChaperoneSetup()->SetWorkingCollisionBoundsInfo(collisionBounds, collisionBoundsCount); vr::VRChaperoneSetup()->SetWorkingCollisionBoundsInfo(collisionBounds, collisionBoundsCount);
delete collisionBounds; delete[] collisionBounds;
} }
if (commit && collisionBoundsCount > 0) { if (commit && collisionBoundsCount > 0) {
vr::VRChaperoneSetup()->CommitWorkingCopy(vr::EChaperoneConfigFile_Live); vr::VRChaperoneSetup()->CommitWorkingCopy(vr::EChaperoneConfigFile_Live);
+2 -2
View File
@@ -64,7 +64,7 @@ private:
bool dashboardVisible = false; bool dashboardVisible = false;
QPoint m_ptLastMouse; QPoint m_ptLastMouse;
Qt::MouseButtons m_lastMouseButtons = 0; Qt::MouseButtons m_lastMouseButtons = 0;
bool desktopMode; bool desktopMode;
bool noSound; bool noSound;
@@ -112,7 +112,7 @@ public:
void AddOffsetToCollisionBounds(float offset[3], bool commit = true); void AddOffsetToCollisionBounds(float offset[3], bool commit = true);
void RotateCollisionBounds(float angle, bool commit = true); // around y axis void RotateCollisionBounds(float angle, bool commit = true); // around y axis
bool isDesktopMode() { return desktopMode; }; bool isDesktopMode() { return desktopMode; };
utils::ChaperoneUtils& chaperoneUtils() noexcept { return m_chaperoneUtils; } utils::ChaperoneUtils& chaperoneUtils() noexcept { return m_chaperoneUtils; }
@@ -19,9 +19,9 @@ void AccessibilityTabController::initStage1() {
reloadPttConfig(); reloadPttConfig();
} }
void AccessibilityTabController::initStage2(OverlayController * parent, QQuickWindow * widget) { void AccessibilityTabController::initStage2(OverlayController * var_parent, QQuickWindow * var_widget) {
this->parent = parent; this->parent = var_parent;
this->widget = widget; this->widget = var_widget;
} }
void AccessibilityTabController::setTrackingUniverse(int value) { void AccessibilityTabController::setTrackingUniverse(int value) {
+59 -50
View File
@@ -44,9 +44,9 @@ namespace advsettings {
} }
void AudioTabController::initStage2(OverlayController * parent, QQuickWindow * widget) { void AudioTabController::initStage2(OverlayController * var_parent, QQuickWindow * var_widget) {
this->parent = parent; this->parent = var_parent;
this->widget = widget; this->widget = var_widget;
std::string notifKey = std::string(OverlayController::applicationKey) + ".pptnotification"; std::string notifKey = std::string(OverlayController::applicationKey) + ".pptnotification";
vr::VROverlayError overlayError = vr::VROverlay()->CreateOverlay(notifKey.c_str(), notifKey.c_str(), &m_ulNotificationOverlayHandle); vr::VROverlayError overlayError = vr::VROverlay()->CreateOverlay(notifKey.c_str(), notifKey.c_str(), &m_ulNotificationOverlayHandle);
@@ -54,12 +54,12 @@ namespace advsettings {
std::string notifIconPath = QApplication::applicationDirPath().toStdString() + "/res/qml/ptt_notification.png"; std::string notifIconPath = QApplication::applicationDirPath().toStdString() + "/res/qml/ptt_notification.png";
if (QFile::exists(QString::fromStdString(notifIconPath))) { if (QFile::exists(QString::fromStdString(notifIconPath))) {
vr::VROverlay()->SetOverlayFromFile(m_ulNotificationOverlayHandle, notifIconPath.c_str()); vr::VROverlay()->SetOverlayFromFile(m_ulNotificationOverlayHandle, notifIconPath.c_str());
vr::VROverlay()->SetOverlayWidthInMeters(m_ulNotificationOverlayHandle, 0.02f); vr::VROverlay()->SetOverlayWidthInMeters(m_ulNotificationOverlayHandle, 0.02f);
vr::HmdMatrix34_t notificationTransform = { vr::HmdMatrix34_t notificationTransform = {{
1.0f, 0.0f, 0.0f, 0.12f, {1.0f, 0.0f, 0.0f, 0.12f},
0.0f, 1.0f, 0.0f, 0.08f, {0.0f, 1.0f, 0.0f, 0.08f},
0.0f, 0.0f, 1.0f, -0.3f {0.0f, 0.0f, 1.0f, -0.3f}
}; }};
vr::VROverlay()->SetOverlayTransformTrackedDeviceRelative(m_ulNotificationOverlayHandle, vr::k_unTrackedDeviceIndex_Hmd, &notificationTransform); vr::VROverlay()->SetOverlayTransformTrackedDeviceRelative(m_ulNotificationOverlayHandle, vr::k_unTrackedDeviceIndex_Hmd, &notificationTransform);
} else { } else {
LOG(ERROR) << "Could not find notification icon \"" << notifIconPath << "\""; LOG(ERROR) << "Could not find notification icon \"" << notifIconPath << "\"";
@@ -307,25 +307,25 @@ namespace advsettings {
emit recordingDeviceListChanged(); emit recordingDeviceListChanged();
} }
int AudioTabController::getPlaybackDeviceCount() { int AudioTabController::getPlaybackDeviceCount() {
return (int)m_playbackDevices.size(); return static_cast<int>(m_playbackDevices.size());
} }
QString AudioTabController::getPlaybackDeviceName(int index) { QString AudioTabController::getPlaybackDeviceName(int index) {
if (index < m_playbackDevices.size()) { if (index > 0 && static_cast<size_t>(index) < m_playbackDevices.size()) {
return QString::fromStdString(m_playbackDevices[index].second); return QString::fromStdString(m_playbackDevices[static_cast<size_t>(index)].second);
} else { } else {
return "<ERROR>"; return "<ERROR>";
} }
} }
int AudioTabController::getRecordingDeviceCount() { int AudioTabController::getRecordingDeviceCount() {
return (int)m_recordingDevices.size(); return static_cast<int>(m_recordingDevices.size());
} }
QString AudioTabController::getRecordingDeviceName(int index) { QString AudioTabController::getRecordingDeviceName(int index) {
if (index < m_recordingDevices.size()) { if (index > 0 && static_cast<size_t>(index) < m_playbackDevices.size()) {
return QString::fromStdString(m_recordingDevices[index].second); return QString::fromStdString(m_recordingDevices[static_cast<size_t>(index)].second);
} else { } else {
return "<ERROR>"; return "<ERROR>";
} }
@@ -346,15 +346,18 @@ namespace advsettings {
void AudioTabController::setPlaybackDeviceIndex(int index, bool notify) { void AudioTabController::setPlaybackDeviceIndex(int index, bool notify) {
if (index != m_playbackDeviceIndex) { if (index != m_playbackDeviceIndex) {
if (index < m_playbackDevices.size() && index != m_mirrorDeviceIndex) { if (index > 0 && static_cast<size_t>(index) < m_playbackDevices.size() && index != m_mirrorDeviceIndex) {
vr::EVRSettingsError vrSettingsError; vr::EVRSettingsError vrSettingsError;
//Applys Audio Switch IN VR //Applys Audio Switch IN VR
vr::VRSettings()->SetString(vr::k_pch_audio_Section, vr::k_pch_audio_OnPlaybackDevice_String, m_playbackDevices[index].first.c_str(), &vrSettingsError); vr::VRSettings()->SetString(vr::k_pch_audio_Section,
vr::k_pch_audio_OnPlaybackDevice_String,
m_playbackDevices[static_cast<size_t>(index)].first.c_str(),
&vrSettingsError);
if (vrSettingsError != vr::VRSettingsError_None) { if (vrSettingsError != vr::VRSettingsError_None) {
LOG(WARNING) << "Could not write \"" << vr::k_pch_audio_OnPlaybackDevice_String << "\" setting: " << vr::VRSettings()->GetSettingsErrorNameFromEnum(vrSettingsError); LOG(WARNING) << "Could not write \"" << vr::k_pch_audio_OnPlaybackDevice_String << "\" setting: " << vr::VRSettings()->GetSettingsErrorNameFromEnum(vrSettingsError);
} else { } else {
vr::VRSettings()->Sync(); vr::VRSettings()->Sync();
audioManager->setPlaybackDevice(m_playbackDevices[index].first, notify); audioManager->setPlaybackDevice(m_playbackDevices[static_cast<size_t>(index)].first, notify);
} }
} else if (notify) { } else if (notify) {
emit playbackDeviceIndexChanged(m_playbackDeviceIndex); emit playbackDeviceIndexChanged(m_playbackDeviceIndex);
@@ -373,14 +376,17 @@ namespace advsettings {
vr::VRSettings()->Sync(); vr::VRSettings()->Sync();
audioManager->setMirrorDevice("", notify); audioManager->setMirrorDevice("", notify);
} }
} else if (index < m_playbackDevices.size() && index != m_playbackDeviceIndex && index != m_mirrorDeviceIndex) { } else if (index > 0 && static_cast<size_t>(index) < m_playbackDevices.size() && index != m_playbackDeviceIndex && index != m_mirrorDeviceIndex) {
vr::EVRSettingsError vrSettingsError; vr::EVRSettingsError vrSettingsError;
vr::VRSettings()->SetString(vr::k_pch_audio_Section, vr::k_pch_audio_OnPlaybackMirrorDevice_String, m_playbackDevices[index].first.c_str(), &vrSettingsError); vr::VRSettings()->SetString(vr::k_pch_audio_Section,
vr::k_pch_audio_OnPlaybackMirrorDevice_String,
m_playbackDevices[static_cast<size_t>(index)].first.c_str(),
&vrSettingsError);
if (vrSettingsError != vr::VRSettingsError_None) { if (vrSettingsError != vr::VRSettingsError_None) {
LOG(WARNING) << "Could not write \"" << vr::k_pch_audio_OnPlaybackMirrorDevice_String << "\" setting: " << vr::VRSettings()->GetSettingsErrorNameFromEnum(vrSettingsError); LOG(WARNING) << "Could not write \"" << vr::k_pch_audio_OnPlaybackMirrorDevice_String << "\" setting: " << vr::VRSettings()->GetSettingsErrorNameFromEnum(vrSettingsError);
} else { } else {
vr::VRSettings()->Sync(); vr::VRSettings()->Sync();
audioManager->setMirrorDevice(m_playbackDevices[index].first, notify); audioManager->setMirrorDevice(m_playbackDevices[static_cast<size_t>(index)].first, notify);
} }
} else if (notify) { } else if (notify) {
emit mirrorDeviceIndexChanged(m_mirrorDeviceIndex); emit mirrorDeviceIndexChanged(m_mirrorDeviceIndex);
@@ -390,14 +396,14 @@ namespace advsettings {
void AudioTabController::setMicDeviceIndex(int index, bool notify) { void AudioTabController::setMicDeviceIndex(int index, bool notify) {
if (index != m_recordingDeviceIndex) { if (index != m_recordingDeviceIndex) {
if (index < m_recordingDevices.size()) { if (index > 0 && static_cast<size_t>(index) < m_recordingDevices.size()) {
vr::EVRSettingsError vrSettingsError; vr::EVRSettingsError vrSettingsError;
vr::VRSettings()->SetString(vr::k_pch_audio_Section, vr::k_pch_audio_OnRecordDevice_String, m_recordingDevices[index].first.c_str(), &vrSettingsError); vr::VRSettings()->SetString(vr::k_pch_audio_Section, vr::k_pch_audio_OnRecordDevice_String, m_recordingDevices[static_cast<size_t>(index)].first.c_str(), &vrSettingsError);
if (vrSettingsError != vr::VRSettingsError_None) { if (vrSettingsError != vr::VRSettingsError_None) {
LOG(WARNING) << "Could not write \"" << vr::k_pch_audio_OnRecordDevice_String << "\" setting: " << vr::VRSettings()->GetSettingsErrorNameFromEnum(vrSettingsError); LOG(WARNING) << "Could not write \"" << vr::k_pch_audio_OnRecordDevice_String << "\" setting: " << vr::VRSettings()->GetSettingsErrorNameFromEnum(vrSettingsError);
} else { } else {
vr::VRSettings()->Sync(); vr::VRSettings()->Sync();
audioManager->setMicDevice(m_recordingDevices[index].first, notify); audioManager->setMicDevice(m_recordingDevices[static_cast<size_t>(index)].first, notify);
} }
} else if (notify) { } else if (notify) {
emit micDeviceIndexChanged(m_recordingDeviceIndex); emit micDeviceIndexChanged(m_recordingDeviceIndex);
@@ -496,8 +502,8 @@ namespace advsettings {
auto profileCount = settings->beginReadArray("audioProfiles"); auto profileCount = settings->beginReadArray("audioProfiles");
for (int i = 0; i < profileCount; i++) { for (int i = 0; i < profileCount; i++) {
settings->setArrayIndex(i); settings->setArrayIndex(i);
audioProfiles.emplace_back(); audioProfiles.emplace_back();
auto& entry = audioProfiles[i]; auto& entry = audioProfiles[static_cast<size_t>(i)];
entry.profileName = settings->value("profileName").toString().toStdString(); entry.profileName = settings->value("profileName").toString().toStdString();
entry.playbackName = settings->value("playbackName").toString().toStdString(); entry.playbackName = settings->value("playbackName").toString().toStdString();
entry.micName = settings->value("micName").toString().toStdString(); entry.micName = settings->value("micName").toString().toStdString();
@@ -528,9 +534,9 @@ namespace advsettings {
auto settings = OverlayController::appSettings(); auto settings = OverlayController::appSettings();
settings->beginGroup(getSettingsName()); settings->beginGroup(getSettingsName());
settings->beginWriteArray("audioProfiles"); settings->beginWriteArray("audioProfiles");
unsigned i = 0; int i = 0;
for (auto& p : audioProfiles) { for (auto& p : audioProfiles) {
settings->setArrayIndex(i); settings->setArrayIndex(i);
settings->setValue("profileName", QString::fromStdString(p.profileName)); settings->setValue("profileName", QString::fromStdString(p.profileName));
settings->setValue("playbackName", QString::fromStdString(p.playbackName)); settings->setValue("playbackName", QString::fromStdString(p.playbackName));
settings->setValue("micName", QString::fromStdString(p.micName)); settings->setValue("micName", QString::fromStdString(p.micName));
@@ -657,9 +663,9 @@ namespace advsettings {
} }
unsigned AudioTabController::getAudioProfileCount() { unsigned AudioTabController::getAudioProfileCount() {
return (unsigned)audioProfiles.size(); return static_cast<unsigned int>(audioProfiles.size());
} }
QString AudioTabController::getAudioProfileName(unsigned index) { QString AudioTabController::getAudioProfileName(unsigned index) {
if (index < audioProfiles.size()) { if (index < audioProfiles.size()) {
@@ -676,28 +682,31 @@ namespace advsettings {
description: Gets proper index value for selecting specific devices. description: Gets proper index value for selecting specific devices.
*/ */
int AudioTabController::getPlaybackIndex(std::string str) { int AudioTabController::getPlaybackIndex(std::string str) {
for (int i = 0; i < m_playbackDevices.size(); i++) { //Unsigned to avoid two casts. i won't be negative because we only increment it.
if (str.compare(m_playbackDevices[i].second)==0) { for (unsigned int i = 0; i < m_playbackDevices.size(); i++) {
return i; if (str.compare(m_playbackDevices[i].second)==0) {
return static_cast<int>(i);
} }
} }
return m_playbackDeviceIndex; return m_playbackDeviceIndex;
} }
int AudioTabController::getRecordingIndex(std::string str) { int AudioTabController::getRecordingIndex(std::string str) {
for (int i = 0; i < m_recordingDevices.size(); i++) { //Unsigned to avoid two casts. i won't be negative because we only increment it.
if (str.compare(m_recordingDevices[i].second) == 0) { for (unsigned int i = 0; i < m_recordingDevices.size(); i++) {
return i; if (str.compare(m_recordingDevices[i].second) == 0) {
return static_cast<int>(i);
} }
} }
return m_recordingDeviceIndex; return m_recordingDeviceIndex;
} }
int AudioTabController::getMirrorIndex(std::string str) { int AudioTabController::getMirrorIndex(std::string str) {
for (int i = 0; i < m_playbackDevices.size(); i++) { //Unsigned to avoid two casts. i won't be negative because we only increment it.
if (str.compare(m_playbackDevices[i].second) == 0) { for (unsigned int i = 0; i < m_playbackDevices.size(); i++) {
return i; if (str.compare(m_playbackDevices[i].second) == 0) {
return static_cast<int>(i);
} }
} }
return -1; return -1;
@@ -32,9 +32,9 @@ void ChaperoneTabController::initStage1() {
} }
void ChaperoneTabController::initStage2(OverlayController * parent, QQuickWindow * widget) { void ChaperoneTabController::initStage2(OverlayController * var_parent, QQuickWindow * var_widget) {
this->parent = parent; this->parent = var_parent;
this->widget = widget; this->widget = var_widget;
} }
@@ -486,7 +486,7 @@ void ChaperoneTabController::setHeight(float value, bool notify) {
} }
vr::VRChaperoneSetup()->SetWorkingCollisionBoundsInfo(collisionBounds, collisionBoundsCount); vr::VRChaperoneSetup()->SetWorkingCollisionBoundsInfo(collisionBounds, collisionBoundsCount);
vr::VRChaperoneSetup()->CommitWorkingCopy(vr::EChaperoneConfigFile_Live); vr::VRChaperoneSetup()->CommitWorkingCopy(vr::EChaperoneConfigFile_Live);
delete collisionBounds; delete[] collisionBounds;
} }
if (notify) { if (notify) {
emit heightChanged(m_fadeDistance); emit heightChanged(m_fadeDistance);
@@ -1006,7 +1006,7 @@ float ChaperoneTabController::getBoundsMaxY() {
result = collisionBounds[b].vCorners[ci].v[1]; result = collisionBounds[b].vCorners[ci].v[1];
} }
} }
delete collisionBounds; delete[] collisionBounds;
} }
return result; return result;
} }
+3 -3
View File
@@ -9,9 +9,9 @@ namespace advsettings {
void FixFloorTabController::initStage1() { void FixFloorTabController::initStage1() {
} }
void FixFloorTabController::initStage2(OverlayController * parent, QQuickWindow * widget) { void FixFloorTabController::initStage2(OverlayController * var_parent, QQuickWindow * var_widget) {
this->parent = parent; this->parent = var_parent;
this->widget = widget; this->widget = var_widget;
} }
void FixFloorTabController::eventLoopTick(vr::TrackedDevicePose_t* devicePoses) { void FixFloorTabController::eventLoopTick(vr::TrackedDevicePose_t* devicePoses) {
@@ -54,12 +54,12 @@ void MoveCenterTabController::initStage1() {
m_lockZToggle = value.toBool(); m_lockZToggle = value.toBool();
} }
settings->endGroup(); settings->endGroup();
lastMoveButtonClick[0] = lastMoveButtonClick[0] = clock::now(); lastMoveButtonClick[0] = lastMoveButtonClick[1] = clock::now();
} }
void MoveCenterTabController::initStage2(OverlayController * parent, QQuickWindow * widget) { void MoveCenterTabController::initStage2(OverlayController * var_parent, QQuickWindow * var_widget) {
this->parent = parent; this->parent = var_parent;
this->widget = widget; this->widget = var_widget;
} }
+3 -3
View File
@@ -167,9 +167,9 @@ namespace advsettings {
} }
} }
void ReviveTabController::initStage2(OverlayController * parent, QQuickWindow * widget) { void ReviveTabController::initStage2(OverlayController * var_parent, QQuickWindow * var_widget) {
this->parent = parent; this->parent = var_parent;
this->widget = widget; this->widget = var_widget;
} }
void ReviveTabController::eventLoopTick() { void ReviveTabController::eventLoopTick() {
+3 -3
View File
@@ -17,9 +17,9 @@ void SettingsTabController::initStage1() {
} }
} }
void SettingsTabController::initStage2(OverlayController * parent, QQuickWindow * widget) { void SettingsTabController::initStage2(OverlayController * var_parent, QQuickWindow * var_widget) {
this->parent = parent; this->parent = var_parent;
this->widget = widget; this->widget = var_widget;
} }
void SettingsTabController::eventLoopTick() { void SettingsTabController::eventLoopTick() {
@@ -8,9 +8,9 @@ namespace advsettings {
void StatisticsTabController::initStage1() { void StatisticsTabController::initStage1() {
} }
void StatisticsTabController::initStage2(OverlayController * parent, QQuickWindow * widget) { void StatisticsTabController::initStage2(OverlayController * var_parent, QQuickWindow * var_widget) {
this->parent = parent; this->parent = var_parent;
this->widget = widget; this->widget = var_widget;
} }
void StatisticsTabController::eventLoopTick(vr::TrackedDevicePose_t* devicePoses, float leftSpeed, float rightSpeed) { void StatisticsTabController::eventLoopTick(vr::TrackedDevicePose_t* devicePoses, float leftSpeed, float rightSpeed) {
+10 -3
View File
@@ -10,6 +10,13 @@ namespace vr {
// application namespace // application namespace
namespace advsettings { namespace advsettings {
// openvr's github repo hasn't been updated yet to reflect changes in beta 1477423729.
//static const char* vrsettings_steamvr_allowAsyncReprojection = "allowAsyncReprojection";
//static const char* vrsettings_steamvr_allowInterleavedReprojection = "allowInterleavedReprojection";
static const char* vrsettings_steamvr_supersampleScale = "supersampleScale";
static const char* vrsettings_steamvr_allowSupersampleFiltering = "allowSupersampleFiltering";
static const char* vrsettings_compositor_category = "compositor";
void SteamVRTabController::initStage1() { void SteamVRTabController::initStage1() {
eventLoopTick(); eventLoopTick();
@@ -17,9 +24,9 @@ void SteamVRTabController::initStage1() {
} }
void SteamVRTabController::initStage2(OverlayController * parent, QQuickWindow * widget) { void SteamVRTabController::initStage2(OverlayController * var_parent, QQuickWindow * var_widget) {
this->parent = parent; this->parent = var_parent;
this->widget = widget; this->widget = var_widget;
} }
@@ -3,12 +3,6 @@
#include <QObject> #include <QObject>
// openvr's github repo hasn't been updated yet to reflect changes in beta 1477423729.
//static const char* vrsettings_steamvr_allowAsyncReprojection = "allowAsyncReprojection";
//static const char* vrsettings_steamvr_allowInterleavedReprojection = "allowInterleavedReprojection";
static const char* vrsettings_compositor_category = "compositor";
static const char* vrsettings_steamvr_supersampleScale = "supersampleScale";
static const char* vrsettings_steamvr_allowSupersampleFiltering = "allowSupersampleFiltering";
class QQuickWindow; class QQuickWindow;
@@ -48,9 +48,9 @@ namespace advsettings {
} }
void UtilitiesTabController::initStage2(OverlayController * parent, QQuickWindow * widget) { void UtilitiesTabController::initStage2(OverlayController * var_parent, QQuickWindow * var_widget) {
this->parent = parent; this->parent = var_parent;
this->widget = widget; this->widget = var_widget;
} }
void UtilitiesTabController::sendKeyboardInput(QString input) { void UtilitiesTabController::sendKeyboardInput(QString input) {
@@ -210,11 +210,11 @@ namespace advsettings {
if (QFile::exists(QString::fromStdString(batteryIconPath))) { if (QFile::exists(QString::fromStdString(batteryIconPath))) {
vr::VROverlay()->SetOverlayFromFile(handle, batteryIconPath.c_str()); vr::VROverlay()->SetOverlayFromFile(handle, batteryIconPath.c_str());
vr::VROverlay()->SetOverlayWidthInMeters(handle, 0.05f); vr::VROverlay()->SetOverlayWidthInMeters(handle, 0.05f);
vr::HmdMatrix34_t notificationTransform = { vr::HmdMatrix34_t notificationTransform = {{
1.0f, 0.0f, 0.0f, 0.00f, {1.0f, 0.0f, 0.0f, 0.00f},
0.0f, -1.0f, 0.0f, 0.01f, {0.0f, -1.0f, 0.0f, 0.01f},
0.0f, 0.0f, -1.0f, -0.013f {0.0f, 0.0f, -1.0f, -0.013f}
}; }};
vr::VROverlay()->SetOverlayTransformTrackedDeviceRelative(handle, index, &notificationTransform); vr::VROverlay()->SetOverlayTransformTrackedDeviceRelative(handle, index, &notificationTransform);
LOG(INFO) << "Created battery overlay for device " << index; LOG(INFO) << "Created battery overlay for device " << index;
} else { } else {
@@ -1,16 +1,23 @@
#include "AudioManagerDummy.h" #include "AudioManagerDummy.h"
// Used to get the compiler to shut up about C4100: unreferenced formal parameter.
// The cast is to get GCC to shut up about it.
#define UNREFERENCED_PARAMETER(P) static_cast<void>((P))
// application namespace // application namespace
namespace advsettings { namespace advsettings {
void AudioManagerDummy::init(AudioTabController *controller) void AudioManagerDummy::init(AudioTabController *controller)
{ {
// noop // noop
UNREFERENCED_PARAMETER(controller);
} }
void AudioManagerDummy::setPlaybackDevice(const std::string &id, bool notify) void AudioManagerDummy::setPlaybackDevice(const std::string &id, bool notify)
{ {
// noop // noop
UNREFERENCED_PARAMETER(id);
UNREFERENCED_PARAMETER(notify);
} }
std::string AudioManagerDummy::getPlaybackDevName() std::string AudioManagerDummy::getPlaybackDevName()
@@ -26,6 +33,8 @@ std::string AudioManagerDummy::getPlaybackDevId()
void AudioManagerDummy::setMirrorDevice(const std::string &id, bool notify) void AudioManagerDummy::setMirrorDevice(const std::string &id, bool notify)
{ {
// noop // noop
UNREFERENCED_PARAMETER(id);
UNREFERENCED_PARAMETER(notify);
} }
bool AudioManagerDummy::isMirrorValid() bool AudioManagerDummy::isMirrorValid()
@@ -50,6 +59,7 @@ float AudioManagerDummy::getMirrorVolume()
bool AudioManagerDummy::setMirrorVolume(float value) bool AudioManagerDummy::setMirrorVolume(float value)
{ {
UNREFERENCED_PARAMETER(value);
return false; return false;
} }
@@ -60,6 +70,7 @@ bool AudioManagerDummy::getMirrorMuted()
bool AudioManagerDummy::setMirrorMuted(bool value) bool AudioManagerDummy::setMirrorMuted(bool value)
{ {
UNREFERENCED_PARAMETER(value);
return false; return false;
} }
@@ -71,6 +82,8 @@ bool AudioManagerDummy::isMicValid()
void AudioManagerDummy::setMicDevice(const std::string &id, bool notify) void AudioManagerDummy::setMicDevice(const std::string &id, bool notify)
{ {
// noop // noop
UNREFERENCED_PARAMETER(id);
UNREFERENCED_PARAMETER(notify);
} }
std::string AudioManagerDummy::getMicDevName() std::string AudioManagerDummy::getMicDevName()
@@ -90,6 +103,7 @@ float AudioManagerDummy::getMicVolume()
bool AudioManagerDummy::setMicVolume(float value) bool AudioManagerDummy::setMicVolume(float value)
{ {
UNREFERENCED_PARAMETER(value);
return false; return false;
} }
@@ -100,6 +114,7 @@ bool AudioManagerDummy::getMicMuted()
bool AudioManagerDummy::setMicMuted(bool value) bool AudioManagerDummy::setMicMuted(bool value)
{ {
UNREFERENCED_PARAMETER(value);
return false; return false;
} }
@@ -31,7 +31,7 @@ AudioManagerWindows::~AudioManagerWindows() {
audioDeviceEnumerator->Release(); audioDeviceEnumerator->Release();
} }
void AudioManagerWindows::init(AudioTabController* controller) { void AudioManagerWindows::init(AudioTabController* var_controller) {
std::lock_guard<std::recursive_mutex> lock(_mutex); std::lock_guard<std::recursive_mutex> lock(_mutex);
audioDeviceEnumerator = getAudioDeviceEnumerator(); audioDeviceEnumerator = getAudioDeviceEnumerator();
if (!audioDeviceEnumerator) { if (!audioDeviceEnumerator) {
@@ -47,7 +47,7 @@ void AudioManagerWindows::init(AudioTabController* controller) {
} else { } else {
LOG(WARNING) << "Could not find a default recording device."; LOG(WARNING) << "Could not find a default recording device.";
} }
this->controller = controller; this->controller = var_controller;
audioDeviceEnumerator->RegisterEndpointNotificationCallback((IMMNotificationClient*)this); audioDeviceEnumerator->RegisterEndpointNotificationCallback((IMMNotificationClient*)this);
policyConfig = getPolicyConfig(); policyConfig = getPolicyConfig();
if (!policyConfig) { if (!policyConfig) {
@@ -277,20 +277,20 @@ IMMDeviceEnumerator* AudioManagerWindows::getAudioDeviceEnumerator() {
} }
IPolicyConfig * AudioManagerWindows::getPolicyConfig() { IPolicyConfig * AudioManagerWindows::getPolicyConfig() {
IPolicyConfig* policyConfig = nullptr; IPolicyConfig* var_policyConfig = nullptr;
// for Win 10 // for Win 10
auto hr = CoCreateInstance(__uuidof(CPolicyConfigClient), NULL, CLSCTX_INPROC, IID_IPolicyConfig2, (LPVOID *)&policyConfig); auto hr = CoCreateInstance(__uuidof(CPolicyConfigClient), NULL, CLSCTX_INPROC, IID_IPolicyConfig2, (LPVOID *)&var_policyConfig);
if (hr != S_OK) { if (hr != S_OK) {
hr = CoCreateInstance(__uuidof(CPolicyConfigClient), NULL, CLSCTX_INPROC, IID_IPolicyConfig1, (LPVOID *)&policyConfig); hr = CoCreateInstance(__uuidof(CPolicyConfigClient), NULL, CLSCTX_INPROC, IID_IPolicyConfig1, (LPVOID *)&var_policyConfig);
} }
// for Win Vista, 7, 8, 8.1 // for Win Vista, 7, 8, 8.1
if (hr != S_OK) { if (hr != S_OK) {
hr = CoCreateInstance(__uuidof(CPolicyConfigClient), NULL, CLSCTX_INPROC, IID_IPolicyConfig0, (LPVOID *)&policyConfig); hr = CoCreateInstance(__uuidof(CPolicyConfigClient), NULL, CLSCTX_INPROC, IID_IPolicyConfig0, (LPVOID *)&var_policyConfig);
} }
if (hr != S_OK) { if (hr != S_OK) {
return nullptr; return nullptr;
} else { } else {
return policyConfig; return var_policyConfig;
} }
} }
@@ -1,10 +1,15 @@
#include "KeyboardInputDummy.h" #include "KeyboardInputDummy.h"
// Used to get the compiler to shut up about C4100: unreferenced formal parameter.
// The cast is to get GCC to shut up about it.
#define UNREFERENCED_PARAMETER(P) static_cast<void>((P))
namespace advsettings { namespace advsettings {
void KeyboardInputDummy::sendKeyboardInput(QString input) void KeyboardInputDummy::sendKeyboardInput(QString input)
{ {
// noop // noop
UNREFERENCED_PARAMETER(input);
} }
void KeyboardInputDummy::sendKeyboardEnter() void KeyboardInputDummy::sendKeyboardEnter()
@@ -15,6 +20,7 @@ void KeyboardInputDummy::sendKeyboardEnter()
void KeyboardInputDummy::sendKeyboardBackspace(int count) void KeyboardInputDummy::sendKeyboardBackspace(int count)
{ {
// noop // noop
UNREFERENCED_PARAMETER(count);
} }
void KeyboardInputDummy::sendKeyboardAltTab() void KeyboardInputDummy::sendKeyboardAltTab()
@@ -18,16 +18,16 @@ void fillKiStruct(INPUT& ip, WORD scanCode, bool keyup) {
}; };
void sendKeyboardInputRaw(int inputCount, LPINPUT input) { void sendKeyboardInputRaw(int inputCount, LPINPUT input) {
if (!SendInput(inputCount, input, sizeof(INPUT))) { if ((inputCount > 0) && !SendInput(static_cast<UINT>(inputCount), input, sizeof(INPUT))) {
char *err; char *err;
auto errCode = GetLastError(); auto errCode = GetLastError();
if (!FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, if (!FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL, nullptr,
errCode, errCode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // default language MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // default language
(LPTSTR)&err, reinterpret_cast<LPTSTR>(&err),
0, 0,
NULL)){ nullptr)){
LOG(ERROR) << "Error calling SendInput(): Could not get error message (" << errCode << ")"; LOG(ERROR) << "Error calling SendInput(): Could not get error message (" << errCode << ")";
} else { } else {
LOG(ERROR) << "Error calling SendInput(): " << err; LOG(ERROR) << "Error calling SendInput(): " << err;
@@ -39,8 +39,8 @@ void KeyboardInputWindows::sendKeyboardInput(QString input)
{ {
int len = input.length(); int len = input.length();
if (len > 0) { if (len > 0) {
LPINPUT ips = new INPUT[len * 5 + 3]; LPINPUT ips = new INPUT[static_cast<unsigned int>(len) * 5 + 3];
unsigned ii = 0; int ii = 0;
bool shiftPressed = false; bool shiftPressed = false;
bool ctrlPressed = false; bool ctrlPressed = false;
bool altPressed = false; bool altPressed = false;
@@ -89,7 +89,7 @@ void KeyboardInputWindows::sendKeyboardInput(QString input)
} }
sendKeyboardInputRaw(ii, ips); sendKeyboardInputRaw(ii, ips);
delete ips; delete[] ips;
} }
} }
@@ -100,20 +100,21 @@ void KeyboardInputWindows::sendKeyboardEnter()
fillKiStruct(ips[1], VK_RETURN, true); fillKiStruct(ips[1], VK_RETURN, true);
sendKeyboardInputRaw(2, ips); sendKeyboardInputRaw(2, ips);
delete ips; delete[] ips;
} }
void KeyboardInputWindows::sendKeyboardBackspace(int count) void KeyboardInputWindows::sendKeyboardBackspace(int count)
{ {
if (count > 0) { if (count > 0) {
LPINPUT ips = new INPUT[count * 2]; // We ensure that count is nonnegative, therefore safe cast.
LPINPUT ips = new INPUT[static_cast<unsigned int>(count) * 2];
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
fillKiStruct(ips[2 * i], VK_BACK, false); fillKiStruct(ips[2 * i], VK_BACK, false);
fillKiStruct(ips[2 * i + 1], VK_BACK, true); fillKiStruct(ips[2 * i + 1], VK_BACK, true);
} }
sendKeyboardInputRaw(count * 2, ips); sendKeyboardInputRaw(count * 2, ips);
delete ips; delete[] ips;
} }
} }
@@ -127,7 +128,7 @@ void KeyboardInputWindows::sendKeyboardAltTab()
fillKiStruct(ips[3], VK_MENU, true); fillKiStruct(ips[3], VK_MENU, true);
sendKeyboardInputRaw(4, ips); sendKeyboardInputRaw(4, ips);
delete ips; delete[] ips;
} }
} }