<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/DolphinQt/Config/LogWidget.h, branch master</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Merge pull request #13522 from tygyh/Enforce-overriding-destructor-style-Core&amp;UnitTests</title>
<updated>2025-06-07T22:55:14+00:00</updated>
<author>
<name>Jordan Woyak</name>
<email>jordan.woyak@gmail.com</email>
</author>
<published>2025-06-07T22:55:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=65f3ba70f5a88a25eeb7fef143b8e46093e30a7a'/>
<id>65f3ba70f5a88a25eeb7fef143b8e46093e30a7a</id>
<content type='text'>
Core &amp; UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Core &amp; UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors</pre>
</div>
</content>
</entry>
<entry>
<title>LogManager: Stop using manual memory management</title>
<updated>2025-05-02T19:14:32+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2025-05-02T11:56:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c8be8197118899c065d195c168956b8fa0e76d56'/>
<id>c8be8197118899c065d195c168956b8fa0e76d56</id>
<content type='text'>
This fixes a memory leak that would occur when the Android frontend
calls LogManager::Init more than once in order to reload settings.

Note that the log window listener is now owned by LogManager instead of
by the frontend, making it consistent with the other log listeners.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a memory leak that would occur when the Android frontend
calls LogManager::Init more than once in order to reload settings.

Note that the log window listener is now owned by LogManager instead of
by the frontend, making it consistent with the other log listeners.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make overriding explicit and remove redundant virtual specifiers on overriding destructors - Core &amp; UnitTests</title>
<updated>2025-05-01T13:00:37+00:00</updated>
<author>
<name>Dr. Dystopia</name>
<email>jonis9898@hotmail.com</email>
</author>
<published>2025-04-16T07:17:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=f240e20e3f8250d279255fe48ba6ab351b581679'/>
<id>f240e20e3f8250d279255fe48ba6ab351b581679</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Common: Move FixedSizeQueue into Common namespace</title>
<updated>2023-03-22T05:23:15+00:00</updated>
<author>
<name>Lioncash</name>
<email>mai.iam2048@gmail.com</email>
</author>
<published>2023-03-22T05:21:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=0f326c606771ce9a21495df705d37408e2b5af90'/>
<id>0f326c606771ce9a21495df705d37408e2b5af90</id>
<content type='text'>
Gets this out of the global namespace.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Gets this out of the global namespace.
</pre>
</div>
</content>
</entry>
<entry>
<title>Convert LOG_TYPE and LOG_LEVELS to enum class</title>
<updated>2021-10-24T18:48:36+00:00</updated>
<author>
<name>Pokechu22</name>
<email>Pokechu022@gmail.com</email>
</author>
<published>2021-10-21T19:11:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=04d8cdfe88c00dfc1f6b449a728dad6d96d82d8e'/>
<id>04d8cdfe88c00dfc1f6b449a728dad6d96d82d8e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>Common: Unify logging namespace with Common</title>
<updated>2019-11-28T10:13:21+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2019-11-28T09:19:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c792961000a6bc8fa33dabdf42d07a25e44e8662'/>
<id>c792961000a6bc8fa33dabdf42d07a25e44e8662</id>
<content type='text'>
Previously the logging was a in a little bit of a disarray. Some things
were in namespaces, and other things were not.

Given this code will feature a bit of restructuring during the
transition over to fmt, this is a good time to unify it under a single
namespace and also remove functions and types from the global namespace.

Now, all functions and types are under the Common::Log namespace. The
only outliers being, of course, the preprocessor macros.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously the logging was a in a little bit of a disarray. Some things
were in namespaces, and other things were not.

Given this code will feature a bit of restructuring during the
transition over to fmt, this is a good time to unify it under a single
namespace and also remove functions and types from the global namespace.

Now, all functions and types are under the Common::Log namespace. The
only outliers being, of course, the preprocessor macros.
</pre>
</div>
</content>
</entry>
<entry>
<title>LogWidget: Use FixedSizeQueue for a log messages buffer</title>
<updated>2019-08-31T19:18:07+00:00</updated>
<author>
<name>Silent</name>
<email>zdanio95@gmail.com</email>
</author>
<published>2019-08-31T18:27:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=6bfa4fa64306d2fc882282ea147f2b22afd4a9cb'/>
<id>6bfa4fa64306d2fc882282ea147f2b22afd4a9cb</id>
<content type='text'>
Messages buffer is intended to be of a fixed capacity (MAX_LOG_LINES),
which cannot be achieved by std::queue unless we manually pop() extra elements.
std::queue uses std::deque internally which most likely results in allocations performed continuously.
FixedSizeQueue keeps a single buffer during its entire lifetime, avoiding any allocations except the ones
performed by stored objects.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Messages buffer is intended to be of a fixed capacity (MAX_LOG_LINES),
which cannot be achieved by std::queue unless we manually pop() extra elements.
std::queue uses std::deque internally which most likely results in allocations performed continuously.
FixedSizeQueue keeps a single buffer during its entire lifetime, avoiding any allocations except the ones
performed by stored objects.
</pre>
</div>
</content>
</entry>
<entry>
<title>LogWidget: Do not use QueueOnObject to construct log queue,</title>
<updated>2019-08-31T09:59:09+00:00</updated>
<author>
<name>Silent</name>
<email>zdanio95@gmail.com</email>
</author>
<published>2019-08-30T22:15:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=b088fc37d5de88b122c3e440319b421de9bee209'/>
<id>b088fc37d5de88b122c3e440319b421de9bee209</id>
<content type='text'>
instead store a std::string constructed from string_view and convert to QString just before appending
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
instead store a std::string constructed from string_view and convert to QString just before appending
</pre>
</div>
</content>
</entry>
<entry>
<title>LogWidget: Replace QTextEdit with QPlainTextEdit for better performance</title>
<updated>2019-08-31T08:46:04+00:00</updated>
<author>
<name>Silent</name>
<email>zdanio95@gmail.com</email>
</author>
<published>2019-08-30T21:55:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=eb7d42dfe88efaa9939b155ca5016ec40c992268'/>
<id>eb7d42dfe88efaa9939b155ca5016ec40c992268</id>
<content type='text'>
QTextEdit is heavy, similar in functionality to WordPad,
while QPlainTextEdit is lightweight like Notepad.
Qt documentation recommends using QPlainTextEdit for log viewers,
and it also allows to set automatic cutoff of oldest messages beyond a fixed point,
which we now set to MAX_LOG_LINES (5000)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
QTextEdit is heavy, similar in functionality to WordPad,
while QPlainTextEdit is lightweight like Notepad.
Qt documentation recommends using QPlainTextEdit for log viewers,
and it also allows to set automatic cutoff of oldest messages beyond a fixed point,
which we now set to MAX_LOG_LINES (5000)
</pre>
</div>
</content>
</entry>
</feed>
