<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp, branch 2409</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Debugger: keep breakpoints ordered by address</title>
<updated>2024-08-04T18:36:20+00:00</updated>
<author>
<name>Tillmann Karras</name>
<email>tilkax@gmail.com</email>
</author>
<published>2024-08-03T18:09:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=f1366a4546f40c31fc4156a31971a0c0368176b6'/>
<id>f1366a4546f40c31fc4156a31971a0c0368176b6</id>
<content type='text'>
Previously, breakpoints would move to the end of the list whenever
they were edited.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, breakpoints would move to the end of the list whenever
they were edited.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #12862 from SuperSamus/debugger-fixes</title>
<updated>2024-07-23T18:36:34+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2024-07-23T18:36:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=2d8f54fdd257840cac63999e99856482d528b11a'/>
<id>2d8f54fdd257840cac63999e99856482d528b11a</id>
<content type='text'>
Debugger: Various fixes</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Debugger: Various fixes</pre>
</div>
</content>
</entry>
<entry>
<title>BreakpointWidget: Correct icon position</title>
<updated>2024-07-09T22:20:56+00:00</updated>
<author>
<name>VampireFlower</name>
<email>monstercatspedup1@gmail.com</email>
</author>
<published>2024-07-08T10:49:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=afa6e26e5de58e942c8e7ef3a02632ccfb851d3d'/>
<id>afa6e26e5de58e942c8e7ef3a02632ccfb851d3d</id>
<content type='text'>
Co-Authored-By: TryTwo &lt;10532806+TryTwo@users.noreply.github.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-Authored-By: TryTwo &lt;10532806+TryTwo@users.noreply.github.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>BreakpointWidget: Can create new breakpoints when emulation isn't running</title>
<updated>2024-07-05T19:33:23+00:00</updated>
<author>
<name>Martino Fontana</name>
<email>tinozzo123@gmail.com</email>
</author>
<published>2024-06-15T09:46:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=719af828e57fa032536953028c5906bfbed7f121'/>
<id>719af828e57fa032536953028c5906bfbed7f121</id>
<content type='text'>
It works perfectly fine, so why not? Also, consistency with CodeViewWidget.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It works perfectly fine, so why not? Also, consistency with CodeViewWidget.
</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: 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>
<entry>
<title>Revert "Audit uses of IsRunning and GetState"</title>
<updated>2024-06-26T18:36:46+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2024-06-26T18:34:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=bc67fc97c39628c76a4dbca411b0e8a9bfaf726a'/>
<id>bc67fc97c39628c76a4dbca411b0e8a9bfaf726a</id>
<content type='text'>
This reverts commit 72cf2bdb87f09deff22e1085de3290126aa4ad05.

SYSCONF settings are getting cleared when they shouldn't be. Let's
revert the change until I get proper time to figure out why it's broken.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 72cf2bdb87f09deff22e1085de3290126aa4ad05.

SYSCONF settings are getting cleared when they shouldn't be. Let's
revert the change until I get proper time to figure out why it's broken.
</pre>
</div>
</content>
</entry>
<entry>
<title>Audit uses of IsRunning and GetState</title>
<updated>2024-06-21T18:52:55+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2024-06-02T14:45:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=72cf2bdb87f09deff22e1085de3290126aa4ad05'/>
<id>72cf2bdb87f09deff22e1085de3290126aa4ad05</id>
<content type='text'>
Some pieces of code are calling IsRunning because there's some
particular action that only makes sense when emulation is running, for
instance showing the state of the emulated CPU. IsRunning is appropriate
to use for this. Then there are pieces of code that are calling
IsRunning because there's some particular thing they must avoid doing
e.g. when the CPU thread is running or IOS is running. IsRunning isn't
quite appropriate for this. Such code should also be checking for the
states Starting and Stopping. Keep in mind that:

* When the state is Starting, the state can asynchronously change to
  Running at any time.
* When we try to stop the core, the state gets set to Stopping before we
  take any action to actually stop things.

This commit adds a new method Core::IsUninitialized, and changes all
callers of IsRunning and GetState that look to me like they should be
changed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some pieces of code are calling IsRunning because there's some
particular action that only makes sense when emulation is running, for
instance showing the state of the emulated CPU. IsRunning is appropriate
to use for this. Then there are pieces of code that are calling
IsRunning because there's some particular thing they must avoid doing
e.g. when the CPU thread is running or IOS is running. IsRunning isn't
quite appropriate for this. Such code should also be checking for the
states Starting and Stopping. Keep in mind that:

* When the state is Starting, the state can asynchronously change to
  Running at any time.
* When we try to stop the core, the state gets set to Stopping before we
  take any action to actually stop things.

This commit adds a new method Core::IsUninitialized, and changes all
callers of IsRunning and GetState that look to me like they should be
changed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Color unused cells and disabled rows.</title>
<updated>2024-06-01T01:42:25+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2024-05-17T21:49:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=3526f3cd9f7aa1389b9b596de4be7fbefb0e827d'/>
<id>3526f3cd9f7aa1389b9b596de4be7fbefb0e827d</id>
<content type='text'>
(bug?) Does not update on dark/light style change, as no signals are sent.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(bug?) Does not update on dark/light style change, as no signals are sent.
</pre>
</div>
</content>
</entry>
<entry>
<title>BreakpointWidget: Give conditionals a popup text entry on click.</title>
<updated>2024-06-01T01:42:25+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2024-05-14T20:49:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=1396e927c72095a6dfd1e95c36ef594e8bd7b63e'/>
<id>1396e927c72095a6dfd1e95c36ef594e8bd7b63e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
