<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/DolphinQt/Debugger/CodeWidget.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: 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 other 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:15:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=8235c38df79bd48ae3d84fe35471befb6f0ce5eb'/>
<id>8235c38df79bd48ae3d84fe35471befb6f0ce5eb</id>
<content type='text'>
Change misleading names.
Fix function usage: Intepreter and Step Out will not check breakpoints in their own wrong way anymore (e.g. breaking on log-only breakpoints).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change misleading names.
Fix function usage: Intepreter and Step Out will not check breakpoints in their own wrong way anymore (e.g. breaking on log-only breakpoints).
</pre>
</div>
</content>
</entry>
<entry>
<title>BranchWatchDialog: Resolve Linux FIXME</title>
<updated>2024-05-25T13:22:45+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-05-24T23:44:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=3b214a4978129a96b136aa23ce9ca5843fb3e3f4'/>
<id>3b214a4978129a96b136aa23ce9ca5843fb3e3f4</id>
<content type='text'>
This stopped being an issue for me with a recent package update, so I guess Qt6 was fixed upstream?
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This stopped being an issue for me with a recent package update, so I guess Qt6 was fixed upstream?
</pre>
</div>
</content>
</entry>
<entry>
<title>Core::GetState: Avoid Global System Accessor</title>
<updated>2024-04-08T23:23:23+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-03-28T18:35:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=eb92d6f0a8c930692de64bd41c5ddee403771023'/>
<id>eb92d6f0a8c930692de64bd41c5ddee403771023</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>DolphinQt: A Ubiquitous Signal For When Symbols Change</title>
<updated>2024-03-28T16:57:22+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-03-17T06:05:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=b52a08d5332949c3b22f8434155cc8095d94df3a'/>
<id>b52a08d5332949c3b22f8434155cc8095d94df3a</id>
<content type='text'>
There were three distinct mechanisms for signaling symbol changes in DolphinQt: `Host::NotifyMapLoaded`, `MenuBar::NotifySymbolsUpdated`, and `CodeViewWidget::SymbolsChanged`. The behavior of these signals has been consolidated into the new `Host::PPCSymbolsUpdated` signal, which can be emitted from anywhere in DolphinQt to properly update symbols everywhere in DolphinQt.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There were three distinct mechanisms for signaling symbol changes in DolphinQt: `Host::NotifyMapLoaded`, `MenuBar::NotifySymbolsUpdated`, and `CodeViewWidget::SymbolsChanged`. The behavior of these signals has been consolidated into the new `Host::PPCSymbolsUpdated` signal, which can be emitted from anywhere in DolphinQt to properly update symbols everywhere in DolphinQt.
</pre>
</div>
</content>
</entry>
<entry>
<title>PPCSymbolDB: Move instance to PowerPCManager</title>
<updated>2024-03-14T05:58:14+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-03-10T18:43:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c24fa93965a68b8adf5d0df9005212792d029146'/>
<id>c24fa93965a68b8adf5d0df9005212792d029146</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>BranchWatchDialog: Fix Misc. Errata</title>
<updated>2024-03-07T23:59:03+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-03-05T22:02:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=0645b4d5792111cc992b85cda6694c95ab43408f'/>
<id>0645b4d5792111cc992b85cda6694c95ab43408f</id>
<content type='text'>
Window icon was missing from QDialog lacking a parent.
Giving the QDialog a parent revealed I had failed to make it properly non-modal, necessitating further changes.
Settings save less often, now only upon destruction.
Construction of BranchWatchDialog is now deferred.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Window icon was missing from QDialog lacking a parent.
Giving the QDialog a parent revealed I had failed to make it properly non-modal, necessitating further changes.
Settings save less often, now only upon destruction.
Construction of BranchWatchDialog is now deferred.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #12359 from mitaclaw/code-diff-dialog-refresh</title>
<updated>2024-03-02T13:13:54+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2024-03-02T13:13:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=f2e04e06030f4d9e3d120ba90d846600fb2897ce'/>
<id>f2e04e06030f4d9e3d120ba90d846600fb2897ce</id>
<content type='text'>
BranchWatchDialog: A Total Replacement for CodeDiffDialog</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
BranchWatchDialog: A Total Replacement for CodeDiffDialog</pre>
</div>
</content>
</entry>
<entry>
<title>CodeWidget: Simplify Case-Insensitive Contains</title>
<updated>2024-02-27T20:03:38+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-02-27T20:03:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=8eeb93d51acaaf4bc4ae6672ee9e898246b5f65c'/>
<id>8eeb93d51acaaf4bc4ae6672ee9e898246b5f65c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>BranchWatchDialog: A Total Replacement for CodeDiffDialog</title>
<updated>2024-02-27T19:40:58+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2023-12-07T17:36:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=8134c8a57211f54cf2109ae3c068c0c94370f786'/>
<id>8134c8a57211f54cf2109ae3c068c0c94370f786</id>
<content type='text'>
With a purpose-built Branch Watch feature built into the emulated system: BranchWatchDialog, replacing CodeDiffDialog, is now better than ever!
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With a purpose-built Branch Watch feature built into the emulated system: BranchWatchDialog, replacing CodeDiffDialog, is now better than ever!
</pre>
</div>
</content>
</entry>
</feed>
