summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpsi29a <psi29a@gmail.com>2022-01-04 10:29:37 +0000
committerpsi29a <psi29a@gmail.com>2022-01-04 10:29:37 +0000
commit476d8b7e867d3931634ff61e4a71a6a5e9f01a6a (patch)
tree017054b5bf58282be7a9cd9f89adcd0044e0d322
parent0766e1310b899d4323ccfd704c1d0fcb2b9148c0 (diff)
parented3286994ca59abc669b229c62e63f238f1e73d1 (diff)
Merge branch 'fix_asan_error' into 'master'
Fix ASAN error: heap-use-after-free See merge request OpenMW/openmw!1495
-rw-r--r--apps/launcher/advancedpage.cpp9
-rw-r--r--apps/launcher/utils/openalutil.cpp10
-rw-r--r--apps/launcher/utils/openalutil.hpp7
3 files changed, 14 insertions, 12 deletions
diff --git a/apps/launcher/advancedpage.cpp b/apps/launcher/advancedpage.cpp
index d09704851a..b9d35b3c95 100644
--- a/apps/launcher/advancedpage.cpp
+++ b/apps/launcher/advancedpage.cpp
@@ -1,6 +1,7 @@
#include "advancedpage.hpp"
#include <array>
+#include <string>
#include <components/config/gamesettings.hpp>
#include <QFileDialog>
@@ -20,13 +21,13 @@ Launcher::AdvancedPage::AdvancedPage(Config::GameSettings &gameSettings, QWidget
setObjectName ("AdvancedPage");
setupUi(this);
- for(const char * name : Launcher::enumerateOpenALDevices())
+ for(const std::string& name : Launcher::enumerateOpenALDevices())
{
- audioDeviceSelectorComboBox->addItem(QString::fromUtf8(name), QString::fromUtf8(name));
+ audioDeviceSelectorComboBox->addItem(QString::fromStdString(name), QString::fromStdString(name));
}
- for(const char * name : Launcher::enumerateOpenALDevicesHrtf())
+ for(const std::string& name : Launcher::enumerateOpenALDevicesHrtf())
{
- hrtfProfileSelectorComboBox->addItem(QString::fromUtf8(name), QString::fromUtf8(name));
+ hrtfProfileSelectorComboBox->addItem(QString::fromStdString(name), QString::fromStdString(name));
}
loadSettings();
diff --git a/apps/launcher/utils/openalutil.cpp b/apps/launcher/utils/openalutil.cpp
index 53fd704203..469872d158 100644
--- a/apps/launcher/utils/openalutil.cpp
+++ b/apps/launcher/utils/openalutil.cpp
@@ -9,9 +9,9 @@
#define ALC_ALL_DEVICES_SPECIFIER 0x1013
#endif
-std::vector<const char *> Launcher::enumerateOpenALDevices()
+std::vector<std::string> Launcher::enumerateOpenALDevices()
{
- std::vector<const char *> devlist;
+ std::vector<std::string> devlist;
const ALCchar *devnames;
if(alcIsExtensionPresent(nullptr, "ALC_ENUMERATE_ALL_EXT"))
@@ -22,7 +22,7 @@ std::vector<const char *> Launcher::enumerateOpenALDevices()
{
devnames = alcGetString(nullptr, ALC_DEVICE_SPECIFIER);
}
-
+
while(devnames && *devnames)
{
devlist.emplace_back(devnames);
@@ -31,9 +31,9 @@ std::vector<const char *> Launcher::enumerateOpenALDevices()
return devlist;
}
-std::vector<const char *> Launcher::enumerateOpenALDevicesHrtf()
+std::vector<std::string> Launcher::enumerateOpenALDevicesHrtf()
{
- std::vector<const char *> ret;
+ std::vector<std::string> ret;
ALCdevice *device = alcOpenDevice(nullptr);
if(device)
diff --git a/apps/launcher/utils/openalutil.hpp b/apps/launcher/utils/openalutil.hpp
index 4a84fbae7d..b084dce7ce 100644
--- a/apps/launcher/utils/openalutil.hpp
+++ b/apps/launcher/utils/openalutil.hpp
@@ -1,7 +1,8 @@
#include <vector>
+#include <string>
namespace Launcher
{
- std::vector<const char *> enumerateOpenALDevices();
- std::vector<const char *> enumerateOpenALDevicesHrtf();
-} \ No newline at end of file
+ std::vector<std::string> enumerateOpenALDevices();
+ std::vector<std::string> enumerateOpenALDevicesHrtf();
+}