Add GDSOFTCLASS to deeper inheritors of Object#110837
Merged
Repiteo merged 1 commit intogodotengine:masterfrom Sep 25, 2025
Merged
Add GDSOFTCLASS to deeper inheritors of Object#110837Repiteo merged 1 commit intogodotengine:masterfrom
GDSOFTCLASS to deeper inheritors of Object#110837Repiteo merged 1 commit intogodotengine:masterfrom
Conversation
4cdeae8 to
b27e04c
Compare
GDSOFTCLASS to deeper inheritors of ObjectGDSOFTCLASS to deeper inheritors of Object
77f29aa to
5e682f4
Compare
5e682f4 to
ee72354
Compare
669b994 to
b5ea7b6
Compare
06b184d to
0772f32
Compare
0772f32 to
e366471
Compare
Ivorforce
approved these changes
Sep 24, 2025
Member
There was a problem hiding this comment.
While this is quite a bit of churn for no immediate benefit, I think this is a necessary change:
- Without
GDSOFTCLASS, future contributors or module authors might run into the same issue as #110693. - We should have consistency in the codebase about what it means to derive from
Object. - We may decide to add more semantics to
GDSOFTCLASS, which may make it necessary for these classes to use the macro.
I actually may propose to require the use of GDSOFTCLASS / GDCLASS, but for now, this is an appropriate improvement.
Thank you again @wheatear-dev for going through the trouble of identifying and patching these!
Repiteo
approved these changes
Sep 25, 2025
Contributor
Repiteo
left a comment
There was a problem hiding this comment.
This should be a totally safe change
Contributor
|
Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi all 👋 (cc. @Ivorforce )
Further to bug report #110693, which was prematurely closed, and in which it was discovered that static casting errors occur when:
Object- directly or otherwiseGDCLASSorGDSOFTCLASSat each child classAnd notwithstanding that my previous PR's (#110694 and #110752) fixed part of the problem, by fixing direct children of
Object. Please note that this is not - however - sufficient, since there can be children deeper in the inheritance tree that will still exhibit this bug.This PR seeks to locate all those remaining - deeper in the inheritance tree from
Object- and fix them by adding an appropriateGDSOFTCLASS.Changes
GDSOFTCLASSadded to many classesoverridekeywords added to public methods in:editor/export/gdextension_export_plugin.hmodules/multiplayer/multiplayer_debugger.hplatform/android/net_socket_android.hHow to validate
ripgrepThanks! 😄
Methodology
They were initially found with this script and output, and then manually refined and expanded. Please note that:
SKIPin the output, since they were either a duplicate - of a similarly named class that does descend fromObject- or a descendant of such a duplicate.