<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/UICommon/NetPlayIndex.cpp, branch release-prep-2503a</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Fix static initialisation order fiasco issue for Version variables</title>
<updated>2022-01-13T23:04:22+00:00</updated>
<author>
<name>Léo Lam</name>
<email>leo@leolam.fr</email>
</author>
<published>2022-01-13T23:04:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=83c5446d852178794450f7c5833f7a047490ff31'/>
<id>83c5446d852178794450f7c5833f7a047490ff31</id>
<content type='text'>
Fixes a crash that could occur if the static constructor function for
the MainSettings.cpp TU happened to run before the variables in
Common/Version.cpp are initialised. (This is known as the static
initialisation order fiasco.)

By using wrapper functions, those variables are now guaranteed to be
constructed on first use.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes a crash that could occur if the static constructor function for
the MainSettings.cpp TU happened to run before the variables in
Common/Version.cpp are initialised. (This is known as the static
initialisation order fiasco.)

By using wrapper functions, those variables are now guaranteed to be
constructed on first use.
</pre>
</div>
</content>
</entry>
<entry>
<title>treewide: convert GPLv2+ license info to SPDX tags</title>
<updated>2021-07-05T02:35:56+00:00</updated>
<author>
<name>Pierre Bourdon</name>
<email>delroth@gmail.com</email>
</author>
<published>2021-07-05T01:22:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=e149ad4f0a9874f354221a7fc76d8f1841e47808'/>
<id>e149ad4f0a9874f354221a7fc76d8f1841e47808</id>
<content type='text'>
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
</pre>
</div>
</content>
</entry>
<entry>
<title>Externals: Fix include path for picojson and discord</title>
<updated>2020-04-29T09:45:59+00:00</updated>
<author>
<name>degasus</name>
<email>wickmarkus@web.de</email>
</author>
<published>2020-04-29T09:45:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=ae2d567f59a19bf6c3e2b4d6548956d49d0b8bbe'/>
<id>ae2d567f59a19bf6c3e2b4d6548956d49d0b8bbe</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>UICommon/NetPlayIndex: Take std::vector by const reference in ParseResponse()</title>
<updated>2019-08-04T16:36:52+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2019-08-04T16:36:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=8285a94d93370a95c42cb8164928e578964ed6cd'/>
<id>8285a94d93370a95c42cb8164928e578964ed6cd</id>
<content type='text'>
This variable isn't std::moved anywhere and is just read out of into a
string. Instead of making a copy, and then another copy of the data into
a std::string, we can take it by reference, only copying the data once.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This variable isn't std::moved anywhere and is just read out of into a
string. Instead of making a copy, and then another copy of the data into
a std::string, we can take it by reference, only copying the data once.
</pre>
</div>
</content>
</entry>
<entry>
<title>UICommon/NetPlayIndex: Use a std::string_view for EncryptID()/DecryptID()</title>
<updated>2019-08-04T16:32:33+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2019-08-04T16:32:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=75f3656804eb76113fe2e7750f1d03743a039ba6'/>
<id>75f3656804eb76113fe2e7750f1d03743a039ba6</id>
<content type='text'>
These parameters only acted as views into the provided strings, so these
can just be turned into non-owning string views.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These parameters only acted as views into the provided strings, so these
can just be turned into non-owning string views.
</pre>
</div>
</content>
</entry>
<entry>
<title>UICommon/NetPlayIndex: Take NetPlaySession by const reference for Add()</title>
<updated>2019-08-04T16:29:17+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2019-08-04T16:29:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=2830fe820d8eadb333ca6dbdf2f12c902a7f7ed2'/>
<id>2830fe820d8eadb333ca6dbdf2f12c902a7f7ed2</id>
<content type='text'>
This isn't std::moved wholesale into a member variable or further
std::moved into another function, so it's better to take it by const
reference here to avoid unnecessary reallocations of contained
std::string instances.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This isn't std::moved wholesale into a member variable or further
std::moved into another function, so it's better to take it by const
reference here to avoid unnecessary reallocations of contained
std::string instances.
</pre>
</div>
</content>
</entry>
<entry>
<title>UICommon/NetPlayIndex: Move NetPlaySession variable closer to its usage point in List()</title>
<updated>2019-08-04T16:24:04+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2019-08-04T16:24:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=0a67a40e7c8345925b6163d7c287691e7f49e387'/>
<id>0a67a40e7c8345925b6163d7c287691e7f49e387</id>
<content type='text'>
Moves it closer to where its used, narrowing its visible scope, as well
as preventing unnecessary std::string constructor executions in the
event invalid data is encountered (the continue branch).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Moves it closer to where its used, narrowing its visible scope, as well
as preventing unnecessary std::string constructor executions in the
event invalid data is encountered (the continue branch).
</pre>
</div>
</content>
</entry>
<entry>
<title>UICommon/NetPlayIndex: Use std::move within SetErrorCallback()</title>
<updated>2019-08-04T16:21:02+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2019-08-04T16:19:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=13292563ee43aef52cebc385d82614a60087618b'/>
<id>13292563ee43aef52cebc385d82614a60087618b</id>
<content type='text'>
std::function is allowed to heap allocate in order to store captured
variables, etc, so std::function isn't a trivial type. We can std::move
here in order to avoid potential reallocating.

While we're at it, make the definition's parameter name match the
declaration's parameter name for consistency.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
std::function is allowed to heap allocate in order to store captured
variables, etc, so std::function isn't a trivial type. We can std::move
here in order to avoid potential reallocating.

While we're at it, make the definition's parameter name match the
declaration's parameter name for consistency.
</pre>
</div>
</content>
</entry>
<entry>
<title>UICommon/NetPlayIndex: Allow move semantics in SetGame()</title>
<updated>2019-08-04T16:16:19+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2019-08-04T16:16:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=5220922a2237cbf868516269f9513a9aaf59558b'/>
<id>5220922a2237cbf868516269f9513a9aaf59558b</id>
<content type='text'>
If the parameter is const, then a move won't actually be able to occur,
making the std::move non-functional. We can remove the const qualifier
to remedy this.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the parameter is const, then a move won't actually be able to occur,
making the std::move non-functional. We can remove the const qualifier
to remedy this.
</pre>
</div>
</content>
</entry>
<entry>
<title>UICommon/NetPlayIndex: Handle non 200 HTTP return codes</title>
<updated>2019-04-13T10:58:23+00:00</updated>
<author>
<name>spycrab</name>
<email>spycrab@users.noreply.github.com</email>
</author>
<published>2019-04-12T20:24:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=336edbef1eb462943152cb2de88611e573d87879'/>
<id>336edbef1eb462943152cb2de88611e573d87879</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
