<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/DolphinQt/Debugger/BreakpointWidget.h, branch master</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>DolphinQt: Size adjustments in **Breakpoints** widget based on selected debug font.</title>
<updated>2026-04-03T10:00:30+00:00</updated>
<author>
<name>cristian64</name>
<email>cristian64@gmail.com</email>
</author>
<published>2026-03-27T09:51:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=a37404a30421d152d2f78ee9d674d553ee395216'/>
<id>a37404a30421d152d2f78ee9d674d553ee395216</id>
<content type='text'>
- Debug font is now used in the widget.
- Row height is now determined by the character height of the current
  font.
- A `OnDebugFontChanged()` slot has been connected to properly update
  the widget on debug font changes.

| Before | After |
| --- | --- |
| &lt;img alt="Breakpoints widget (before)" title="Breakpoints widget (before)" src="https://github.com/user-attachments/assets/fdde293a-b1fd-4a1d-85e2-e16bc859eb9e" /&gt; | &lt;img alt="Breakpoints widget (after)" title="Breakpoints widget (after)" src="https://github.com/user-attachments/assets/cf4f1d59-c235-429b-bcb1-cae36065e805" /&gt; |
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Debug font is now used in the widget.
- Row height is now determined by the character height of the current
  font.
- A `OnDebugFontChanged()` slot has been connected to properly update
  the widget on debug font changes.

| Before | After |
| --- | --- |
| &lt;img alt="Breakpoints widget (before)" title="Breakpoints widget (before)" src="https://github.com/user-attachments/assets/fdde293a-b1fd-4a1d-85e2-e16bc859eb9e" /&gt; | &lt;img alt="Breakpoints widget (after)" title="Breakpoints widget (after)" src="https://github.com/user-attachments/assets/cf4f1d59-c235-429b-bcb1-cae36065e805" /&gt; |
</pre>
</div>
</content>
</entry>
<entry>
<title>Debugger/ BreakpointsWidget: Add option to disable/enable all breaking without affecting individual breakpoint enabled states.</title>
<updated>2026-02-19T23:23:42+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2026-02-11T23:17:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=f9c7731f4d8bdfbe45ddf66185bfa45d7cabd859'/>
<id>f9c7731f4d8bdfbe45ddf66185bfa45d7cabd859</id>
<content type='text'>
Allows you to quickly stop breaking, play the game, then re-enable breaking. useful if you have many active breakpoints, but need to run the game.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allows you to quickly stop breaking, play the game, then re-enable breaking. useful if you have many active breakpoints, but need to run the game.
</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>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>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>BreakpointWidget: Direct editing of address cells. Prevent symbol cells from being affected.</title>
<updated>2024-06-01T01:42:24+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2024-05-14T20:40:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=e52b814eb2119f51a68285aa3a7581f0350f6fbd'/>
<id>e52b814eb2119f51a68285aa3a7581f0350f6fbd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>BreakpointWidget: Make buttons, removing selecting row on clicking, and fix OnContextMenu which relied on select rows.</title>
<updated>2024-06-01T01:42:18+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2024-05-14T20:22:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=b7406717921c96ab59f72bf71bccebab9f0a3b55'/>
<id>b7406717921c96ab59f72bf71bccebab9f0a3b55</id>
<content type='text'>
Add functions to edit breakpoints.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add functions to edit breakpoints.
</pre>
</div>
</content>
</entry>
<entry>
<title>BreakpointWidget: Fix Qt centering issues with a Custom Delegate</title>
<updated>2024-05-26T00:09:21+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2024-05-14T20:07:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=b7b0842d2faf9396e7f06bd6ad714289bff4876e'/>
<id>b7b0842d2faf9396e7f06bd6ad714289bff4876e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>BreakpointWidget: Move delete to the context menu.  Selecting rows will be removed, so select -&gt; delete is hard to maintain.</title>
<updated>2024-05-26T00:09:21+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2024-05-14T20:02:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=d96840f8086280eaac1e959d79ed3d8432127d90'/>
<id>d96840f8086280eaac1e959d79ed3d8432127d90</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PowerPC: Refactor to class, move to System.</title>
<updated>2023-04-09T19:48:37+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2023-03-28T18:26:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=23843583bf2fcc349bef18b37e1a8539be3db17d'/>
<id>23843583bf2fcc349bef18b37e1a8539be3db17d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
