NetPlayDiag::FindGame() returns const reference to std:
tring.
If game path isn't found, it returns "".
Because of implicit conversion, it results:
return std:
tring("");
Using a reference to a destroyed object causes undefined behavior.
This commit fixes it by returning copied std:
tring objects.
---
diff --git a/Source/Core/DolphinWX/Src/NetWindow.cpp b/Source/Core/DolphinWX/Src/NetWindow.cpp
index 1c8f054..e4bc377 100644
--- a/Source/Core/DolphinWX/Src/NetWindow.cpp
+++ b/Source/Core/DolphinWX/Src/NetWindow.cpp
@@ -409,7 +409,7 @@ void NetPlayDiag::GetNetSettings(NetSettings &settings)
settings.m_Controllers = SConfig::GetInstance().m_SIDevice[i];
}
-const std:
tring& NetPlayDiag::FindGame()
+std:
tring NetPlayDiag::FindGame()
{
// find path for selected game, sloppy..
for (u32 i = 0 ; auto game = m_game_list->GetISO(i); ++i)
diff --git a/Source/Core/DolphinWX/Src/NetWindow.h b/Source/Core/DolphinWX/Src/NetWindow.h
index 543c164..e798033 100644
--- a/Source/Core/DolphinWX/Src/NetWindow.h
+++ b/Source/Core/DolphinWX/Src/NetWindow.h
@@ -92,7 +92,7 @@ private:
void OnAdjustBuffer(wxCommandEvent& event);
void OnConfigPads(wxCommandEvent& event);
void GetNetSettings(NetSettings &settings);
- const std:
tring& FindGame();
+ std:
tring FindGame();
wxListBox* m_player_lbox;
wxTextCtrl* m_chat_text;
--
#
# I'm new and not familiar with dolphin-emu
# I concern about copying std:
tring objects each time FindGame() is called
# may affect the performance of dolphin.
#
[/i]

If game path isn't found, it returns "".
Because of implicit conversion, it results:
return std:

Using a reference to a destroyed object causes undefined behavior.
This commit fixes it by returning copied std:

---
diff --git a/Source/Core/DolphinWX/Src/NetWindow.cpp b/Source/Core/DolphinWX/Src/NetWindow.cpp
index 1c8f054..e4bc377 100644
--- a/Source/Core/DolphinWX/Src/NetWindow.cpp
+++ b/Source/Core/DolphinWX/Src/NetWindow.cpp
@@ -409,7 +409,7 @@ void NetPlayDiag::GetNetSettings(NetSettings &settings)
settings.m_Controllers = SConfig::GetInstance().m_SIDevice[i];
}
-const std:

+std:

{
// find path for selected game, sloppy..
for (u32 i = 0 ; auto game = m_game_list->GetISO(i); ++i)
diff --git a/Source/Core/DolphinWX/Src/NetWindow.h b/Source/Core/DolphinWX/Src/NetWindow.h
index 543c164..e798033 100644
--- a/Source/Core/DolphinWX/Src/NetWindow.h
+++ b/Source/Core/DolphinWX/Src/NetWindow.h
@@ -92,7 +92,7 @@ private:
void OnAdjustBuffer(wxCommandEvent& event);
void OnConfigPads(wxCommandEvent& event);
void GetNetSettings(NetSettings &settings);
- const std:

+ std:

wxListBox* m_player_lbox;
wxTextCtrl* m_chat_text;
--
#
# I'm new and not familiar with dolphin-emu
# I concern about copying std:

# may affect the performance of dolphin.
#
[/i]