Skip to content

Conversation

@jchv
Copy link
Contributor

@jchv jchv commented Sep 2, 2025

There are no serious, major changes here. Even though most of these code changes are small, I've still carefully credited each of them using co-authors and a link back to the commit it's from in ares, hopefully that is sufficient. I believe the ares license is more permissive than the bsnes one, so I don't think licensing would be an issue here. I've also tested building with both Qt 5 and Qt 6 (using the unmerged PR that adds the Makefile changes) and it all looks good to me.

There are a few changes I did not opt to take. These mostly consisted of:

  • Changes that rely on major refactorings in ares, like the integer typedefs.
  • Major additions like new widgets.

Most of the changes I did take are fairly minor but still nice-to-have improvements. In the case of changes where my work on getting bsnes working in Qt 6 happened to collide with existing work in ares we got improvements on both sides, e.g. in Monitor.

I think doing the same thing for the GTK backend would probably be a wise idea before I do any work on it.

jchv and others added 10 commits September 1, 2025 19:26
This is a backport from ares:
ares-emulator/ares@b85395f

Co-authored-by: invertego <[email protected]>
- Call XInitThreads at initialization
- Remove spaces from screensaver window name
- Restore LC_NUMERIC after Qt clobbers it

This is sourced from ares v116r07, and:
ares-emulator/ares@6cd4470

Co-authored-by: Near <[email protected]>
Co-authored-by: Dragorn421 <[email protected]>
The desired size was probably the boundingRect width and not the advance
width, so the fix from bsdcode is better than mine.

This is backported from ares:
ares-emulator/ares@ffe9722

Co-authored-by: Stefan Schlosser <[email protected]>
Some of the work I'd done was duplicating existing work. Let's unify to
get the best of both works.

This mostly comes from:
ares-emulator/ares@ffe9722

Co-authored-by: Stefan Schlosser <[email protected]>
With Qt 6 maybe it is possible to finally start cleaning that issue up
in the first place, but for now it's probably better for bsnes and ares
to align closer.

This is backported from the following ares commits:
ares-emulator/ares@0d131bf
ares-emulator/ares@960d8a8

Co-authored-by: Near <[email protected]>
Co-authored-by: invertego <[email protected]>
The `linear` parameter to `image::scale` is a boolean, not an
enumeration.

This is a back port from ares:
ares-emulator/ares@960d8a8

Also, remove the blob of commented code. This was removed in ares v117.

Co-authored-by: Near <[email protected]>
There are a handful of spots in hiro/qt where methods override Qt
virtual methods, but they are not declared as such.

These are backported from ares from:
ares-emulator/ares@960d8a8

Co-authored-by: Near <[email protected]>
I didn't realize that some of the Qt deprecations were already fixed in
ares. In this case, the change was handled a bit differently, always
considering the y component of scrolling even when the scroll operation
is mostly horizontal. This should work just fine, so we may as well just
adopt that behavior, especially since bsnes doesn't even currently use a
HexEdit.

Backported from ares from:
ares-emulator/ares@ffe9722

Co-authored-by: Stefan Schlosser <[email protected]>
@Screwtapello Screwtapello merged commit 9716212 into bsnes-emu:master Sep 2, 2025
4 of 5 checks passed
@jchv jchv deleted the hiro-qt-ares-backports branch September 2, 2025 08:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants