Skip to content

Comments

Mixed commits#320

Open
jjuhl wants to merge 3 commits intotexus:1.xfrom
jjuhl:mixed-commits
Open

Mixed commits#320
jjuhl wants to merge 3 commits intotexus:1.xfrom
jjuhl:mixed-commits

Conversation

@jjuhl
Copy link
Contributor

@jjuhl jjuhl commented Feb 19, 2026

Just a few small changes.

This commit avoids a few conversions of multiplications done in a
narrow type that can (theoretically) overflow before being converted
to a wider type. These changes ensure the conversion is always done in
the wider type so there's no risk of overflow.
This is fairly theoretical for TGUI usage, but it's better to be
correct than to fail in some user corner case.

There are a few more cases like this elsewhere in the library and I'll
fix those up in the future if this commit is merged.

(also change const to constexpr where constant evaluation is actually
possible).
Make sure we always std::forward arguments and make the code a bit
easier to read.
The URLs https://tgui.eu/tutorials/1.0/ and
https://tgui.eu/examples/1.0 don't exist any more, so update those to
just point to https://tgui.eu/tutorials/latest-stable/

The URL https://tgui.eu is strictly speaking not correct, it should be
https://tgui.eu/
@texus
Copy link
Owner

texus commented Feb 22, 2026

I don't think the widening casts are needed. They just make the code harder to read.
If we would have to start worrying about containers with a billion elements then we would also need to check that every addition doesn't cause an overflow. At some point it just becomes too theoretical to bother with it.

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