<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/DolphinQt/Debugger/CodeViewWidget.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>DolphinQt: JIT Widget Refresh</title>
<updated>2024-10-19T09:30:44+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-04-16T04:52:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=9afd09598cc81eabd3fcfe296c25ace2a71aca26'/>
<id>9afd09598cc81eabd3fcfe296c25ace2a71aca26</id>
<content type='text'>
Fulfilling a certain six-year-old todo.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fulfilling a certain six-year-old todo.
</pre>
</div>
</content>
</entry>
<entry>
<title>Partially revert "Revert "Audit uses of IsRunning and GetState""</title>
<updated>2024-10-04T16:35:41+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2024-07-02T15:27:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=6ca2da53e86766f54df1ae79e65bb220b41ed7ef'/>
<id>6ca2da53e86766f54df1ae79e65bb220b41ed7ef</id>
<content type='text'>
This reverts the revert commit bc67fc97c39628c76a4dbca411b0e8a9bfaf726a,
except for the changes in BaseConfigLoader.cpp, which caused the bug
that made us revert 72cf2bdb87f09deff22e1085de3290126aa4ad05. PR 12917
contains an improved change to BaseConfigLoader.cpp, which can be merged
(or rejected) independently.

A few changes have also been made based on review comments.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts the revert commit bc67fc97c39628c76a4dbca411b0e8a9bfaf726a,
except for the changes in BaseConfigLoader.cpp, which caused the bug
that made us revert 72cf2bdb87f09deff22e1085de3290126aa4ad05. PR 12917
contains an improved change to BaseConfigLoader.cpp, which can be merged
(or rejected) independently.

A few changes have also been made based on review comments.
</pre>
</div>
</content>
</entry>
<entry>
<title>DolphinQt: A Ubiquitous Signal For When Breakpoints Change</title>
<updated>2024-09-21T01:37:39+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-09-21T01:37:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=7c2a39706e84d112cf28883a64afe43aa6f0b916'/>
<id>7c2a39706e84d112cf28883a64afe43aa6f0b916</id>
<content type='text'>
There were three distinct mechanisms for signaling breakpoint changes in DolphinQt, and the wiring had room for improvement. The behavior of these signals has been consolidated into the new `Host::PPCBreakpointsChanged` signal, which can be emitted from anywhere in DolphinQt to properly update breakpoints everywhere in DolphinQt.

This improves a few things:
- For the `CodeViewWidget` and `MemoryViewWidget`, signals no longer need to propagate through the `CodeWidget` and `MemoryWidget` (respectively) to reach their destination (incoming or outgoing).
- For the `BreakpointWidget`, by self-triggering from its own signal, it no longer must manually call `Update()` after all of the emission sites.
- For the `BranchWatchDialog`, it now has one less thing it must go through the `CodeWidget` for, which is a plus.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There were three distinct mechanisms for signaling breakpoint changes in DolphinQt, and the wiring had room for improvement. The behavior of these signals has been consolidated into the new `Host::PPCBreakpointsChanged` signal, which can be emitted from anywhere in DolphinQt to properly update breakpoints everywhere in DolphinQt.

This improves a few things:
- For the `CodeViewWidget` and `MemoryViewWidget`, signals no longer need to propagate through the `CodeWidget` and `MemoryWidget` (respectively) to reach their destination (incoming or outgoing).
- For the `BreakpointWidget`, by self-triggering from its own signal, it no longer must manually call `Update()` after all of the emission sites.
- For the `BranchWatchDialog`, it now has one less thing it must go through the `CodeWidget` for, which is a plus.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for libfmt-11</title>
<updated>2024-08-22T13:54:35+00:00</updated>
<author>
<name>Alfred Wingate</name>
<email>parona@protonmail.com</email>
</author>
<published>2024-08-09T05:54:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=d7c93d87befcc1ee29e0355338d960b7f8d31e78'/>
<id>d7c93d87befcc1ee29e0355338d960b7f8d31e78</id>
<content type='text'>
fmt::join was moved into fmt/ranges.h

Signed-off-by: Alfred Wingate &lt;parona@protonmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fmt::join was moved into fmt/ranges.h

Signed-off-by: Alfred Wingate &lt;parona@protonmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>DolphinQt: Fix "Sddress" typo</title>
<updated>2024-08-21T16:12:04+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2024-08-21T16:12:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=9f95a8fa8afecdf73c7a3eeab418f30a89f89087'/>
<id>9f95a8fa8afecdf73c7a3eeab418f30a89f89087</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use 'contains' method</title>
<updated>2024-08-14T20:18:28+00:00</updated>
<author>
<name>Dr. Dystopia</name>
<email>jonis9898@hotmail.com</email>
</author>
<published>2024-07-19T20:49:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=618b41a4593032a5c374069b37369e91ecf5db9e'/>
<id>618b41a4593032a5c374069b37369e91ecf5db9e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>i18n: Add comments and improve source strings</title>
<updated>2024-07-28T12:38:20+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2024-07-28T12:24:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=9d2f5245f49a7bdcc265001c420bc9f61e629a34'/>
<id>9d2f5245f49a7bdcc265001c420bc9f61e629a34</id>
<content type='text'>
Most of these changes are to improve consistency in capitalization.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Most of these changes are to improve consistency in capitalization.
</pre>
</div>
</content>
</entry>
<entry>
<title>Debugger: Rework temporary breakpoints</title>
<updated>2024-07-05T19:33:22+00:00</updated>
<author>
<name>Martino Fontana</name>
<email>tinozzo123@gmail.com</email>
</author>
<published>2024-06-15T09:36:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=bd3cf67cbc354dc93edf14a788e602c69c054d38'/>
<id>bd3cf67cbc354dc93edf14a788e602c69c054d38</id>
<content type='text'>
Before:
1. In theory there could be multiple, but in practice they were (manually) cleared before creating one
2. (Some of) the conditions to clear one were either to reach it, to create a new one (due to the point above), or to step. This created weird behavior: let's say you Step Over a `bl` (thus creating a temporary breakpoint on `pc+4`), and you reached a regular breakpoint inside the `bl`. The temporary one would still be there: if you resumed, the emulation would still stop there, as a sort of Step Out. But, if before resuming, you made a Step, then it wouldn't do that.
3. The breakpoint widget had no idea concept of them, and will treat them as regular breakpoints. Also, they'll be shown only when the widget is updated in some other way, leading to more confusion.
4. Because only one breakpoint could exist per address, the creation of a temporary breakpoint on a top of a regular one would delete it and inherit its properties (e.g. being log-only). This could happen, for instance, if you Stepped Over a `bl` specifically, and pc+4 had a regular breakpoint.

Now there can only be one temporary breakpoint, which is automatically cleared whenever emulation is paused. So, removing some manual clearing from 1., and removing the weird behavior of 2. As it is stored in a separate variable, it won't be seen at all depending on the function used (fixing 3., and removing some checks in other places), and it won't replace a regular breakpoint, instead simply having priority (fixing 4.).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before:
1. In theory there could be multiple, but in practice they were (manually) cleared before creating one
2. (Some of) the conditions to clear one were either to reach it, to create a new one (due to the point above), or to step. This created weird behavior: let's say you Step Over a `bl` (thus creating a temporary breakpoint on `pc+4`), and you reached a regular breakpoint inside the `bl`. The temporary one would still be there: if you resumed, the emulation would still stop there, as a sort of Step Out. But, if before resuming, you made a Step, then it wouldn't do that.
3. The breakpoint widget had no idea concept of them, and will treat them as regular breakpoints. Also, they'll be shown only when the widget is updated in some other way, leading to more confusion.
4. Because only one breakpoint could exist per address, the creation of a temporary breakpoint on a top of a regular one would delete it and inherit its properties (e.g. being log-only). This could happen, for instance, if you Stepped Over a `bl` specifically, and pc+4 had a regular breakpoint.

Now there can only be one temporary breakpoint, which is automatically cleared whenever emulation is paused. So, removing some manual clearing from 1., and removing the weird behavior of 2. As it is stored in a separate variable, it won't be seen at all depending on the function used (fixing 3., and removing some checks in other places), and it won't replace a regular breakpoint, instead simply having priority (fixing 4.).
</pre>
</div>
</content>
</entry>
<entry>
<title>Debugger: fix Run to Here</title>
<updated>2024-07-02T16:29:42+00:00</updated>
<author>
<name>Martino Fontana</name>
<email>tinozzo123@gmail.com</email>
</author>
<published>2024-06-15T09:23:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=037de1ce929b9c785f11e9f595ededd1497bfe41'/>
<id>037de1ce929b9c785f11e9f595ededd1497bfe41</id>
<content type='text'>
Now it actually does what it says on the name, instead of creating a breapoint and doing nothing else (not even updating the widget).
Also, it now can't be selected if emulation isn't running.
Closes https://bugs.dolphin-emu.org/issues/13532
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now it actually does what it says on the name, instead of creating a breapoint and doing nothing else (not even updating the widget).
Also, it now can't be selected if emulation isn't running.
Closes https://bugs.dolphin-emu.org/issues/13532
</pre>
</div>
</content>
</entry>
<entry>
<title>Debugger: Small Breakpoint cleanup</title>
<updated>2024-07-02T16:29:42+00:00</updated>
<author>
<name>Martino Fontana</name>
<email>tinozzo123@gmail.com</email>
</author>
<published>2024-06-15T09:02:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=9aeeea37620cf7c554d1462188ad06c2f6d32617'/>
<id>9aeeea37620cf7c554d1462188ad06c2f6d32617</id>
<content type='text'>
Reuse more code, change misleading names, remove useless documentation, add useful documentation
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reuse more code, change misleading names, remove useless documentation, add useful documentation
</pre>
</div>
</content>
</entry>
</feed>
