[Bug 44399] WickrMe 4.19.7: Crashes due to stub combase.RoGetActivationFactory
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Jan 26 08:52:30 CST 2018
https://bugs.winehq.org/show_bug.cgi?id=44399
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Staged patchset| |https://github.com/wine-com
| |pholio/wine-staging/tree/ma
| |ster/patches/combase-RoApi
CC| |focht at gmx.net
Status|NEW |STAGED
--- Comment #8 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
the app uses QT5.8 multimedia, specifically WASAPI plugin to query for various
audio device info.
Relevant part of QT5.8 WASAPI plugin source code:
http://code.qt.io/cgit/qt/qtmultimedia.git/tree/src/plugins/wasapi/qwasapiutils.cpp#n234
--- snip ---
QList<QByteArray> QWasapiUtils::availableDevices(QAudio::Mode mode)
{
qCDebug(lcMmUtils) << __FUNCTION__ << mode;
CoInitIfNeeded();
ComPtr<IDeviceInformationStatics> statics;
HRESULT hr;
hr =
GetActivationFactory(HString::MakeReference(RuntimeClass_Windows_Devices_Enumeration_DeviceInformation).Get(),
&statics);
Q_ASSERT_SUCCEEDED(hr);
DeviceClass dc = mode == QAudio::AudioInput ? DeviceClass_AudioCapture :
DeviceClass_AudioRender;
QList<QByteArray> &deviceNames = mode == QAudio::AudioInput ?
gMapping->inputDeviceNames : gMapping->outputDeviceNames;
QList<QString> &deviceIds = mode == QAudio::AudioInput ?
gMapping->inputDeviceIds : gMapping->outputDeviceIds;
// We need to refresh due to plugable devices (ie USB)
deviceNames.clear();
deviceIds.clear();
ComPtr<IAsyncOperation<ABI::Windows::Devices::Enumeration::DeviceInformationCollection
*>> op;
hr = statics->FindAllAsyncDeviceClass(dc, &op );
RETURN_EMPTY_LIST_IF_FAILED("Could not query audio devices.");
ComPtr<IVectorView<DeviceInformation *>> resultVector;
hr = QWinRTFunctions::await(op, resultVector.GetAddressOf());
RETURN_EMPTY_LIST_IF_FAILED("Could not receive audio device list.");
...
--- snip ---
MSDN: https://msdn.microsoft.com/en-us/library/hh973459.aspx ("How to: Activate
and Use a Windows Runtime Component Using WRL")
Missing Windows Runtime 'windows.devices.enumeration.dll' which provides device
enumeration API for Win8+ is a follow-up issue.
I'm changing the status to "staged" to refer to staging patchset:
https://github.com/wine-compholio/wine-staging/tree/master/patches/combase-RoApi
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list