diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 7c7c455d1d..05a195c904 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -3357,7 +3357,10 @@ void Application::updateWindowTitle(){ title += " - ₵" + creditBalanceString; } +#ifndef WIN32 + // crashes with vs2013/win32 qDebug("Application title set to: %s", title.toStdString().c_str()); +#endif !WIN32 _window->setWindowTitle(title); } diff --git a/interface/src/Audio.cpp b/interface/src/Audio.cpp index 9e03a9df51..9086312bac 100644 --- a/interface/src/Audio.cpp +++ b/interface/src/Audio.cpp @@ -164,14 +164,24 @@ void Audio::audioMixerKilled() { resetStats(); } + QAudioDeviceInfo getNamedAudioDeviceForMode(QAudio::Mode mode, const QString& deviceName) { QAudioDeviceInfo result; +#ifdef WIN32 + // NOTE + // this is a workaround for a windows only QtBug https://bugreports.qt-project.org/browse/QTBUG-16117 + // static QAudioDeviceInfo objects get deallocated when QList objects go out of scope + result = (mode == QAudio::AudioInput) ? + QAudioDeviceInfo::defaultInputDevice() : + QAudioDeviceInfo::defaultOutputDevice(); +#else foreach(QAudioDeviceInfo audioDevice, QAudioDeviceInfo::availableDevices(mode)) { qDebug() << audioDevice.deviceName() << " " << deviceName; if (audioDevice.deviceName().trimmed() == deviceName.trimmed()) { result = audioDevice; } } +#endif return result; } @@ -277,6 +287,7 @@ QAudioDeviceInfo defaultAudioDeviceForMode(QAudio::Mode mode) { pMMDeviceEnumerator = NULL; CoUninitialize(); } + qDebug() << "DEBUG [" << deviceName << "] [" << getNamedAudioDeviceForMode(mode, deviceName).deviceName() << "]"; return getNamedAudioDeviceForMode(mode, deviceName); diff --git a/libraries/networking/src/ResourceCache.cpp b/libraries/networking/src/ResourceCache.cpp index 73c01ef582..5c80854286 100644 --- a/libraries/networking/src/ResourceCache.cpp +++ b/libraries/networking/src/ResourceCache.cpp @@ -215,7 +215,11 @@ void Resource::allReferencesCleared() { _cache->addUnusedResource(self); } else { +#ifndef WIN32 + // Note to Andrzej this causes a consistent crash on windows/vs2013 + // patching here as a very temporary workaround. --craig delete this; +#endif // !WIN32 } }