summaryrefslogtreecommitdiff
path: root/core/reference.h
AgeCommit message (Collapse)Author
2017-08-24Convert Object::cast_to() to the static versionHein-Pieter van Braam
Currently we rely on some undefined behavior when Object->cast_to() gets called with a Null pointer. This used to work fine with GCC < 6 but newer versions of GCC remove all codepaths in which the this pointer is Null. However, the non-static cast_to() was supposed to be null safe. This patch makes cast_to() Null safe and removes the now redundant Null checks where they existed. It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-23Changed MethodBind API to request information from methods. It's much claner ↵Juan Linietsky
now. Also changed PropertyInfo to include informatino about class names.
2017-08-20Fixes Ref's GetTypeInfo missing with ptrcall disabledIgnacio Etcheverry
2017-08-10Improves method bind detection of signature typesIgnacio Etcheverry
2017-07-28Fix passing Refs via ptrcallRuslan Mustakov
There was no constructor for Ref from const pointer, so compiler decided to construct Variant from pointer and then construct Ref from Variant which turned it into NULL, because the Variant had null ref field.
2017-06-20fixed ptrcall cast for const Ref<T>Karroffel
Some methods require a const Ref<T> argument, the ptrcall method wrappers cast `void *` to the apropriate types. The problem is that there is no `Ref(const T *)` constructor, but since Ref modifies the refcount of a Reference anyway there's no point in a const version. The problem is that with a `const T *` constructor call, the argument gets converted to Variant first and loses all the reference information, resulting in a null reference as the argument to the constructor.
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-03-05A Whole New World (clang-format edition)Rémi Verschelde
I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code
2017-01-16Style: Cleanups, added headers, renamed filesRémi Verschelde
Made sure files in core/ and tools/ have a proper Godot license header when written by us. Also renamed aabb.{cpp,h} and object_type_db.{cpp,h} to rect3.{cpp,h} and class_db.{cpp,h} respectively. Also added a proper header to core/io/base64.{c,h} after clarifying the licensing with the original author (public domain).
2017-01-02ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to ↵Juan Linietsky
Variant. All usages of "type" to refer to classes were renamed to "class" ClassDB has been exposed to GDScript. OBJ_TYPE() macro is now GDCLASS()
2017-01-01Welcome in 2017, dear changelog reader!Rémi Verschelde
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer with state-of-the-art rendering techniques tuned to work as low as middle end handheld devices - without compromising with the possibilities given for higher end desktop games of course. Great times ahead for the Godot community and the gamers that will play our games!
2016-06-24changed way to return referenceJuan Linietsky
2016-06-22Improved binding system (ObjectTypeDB::bind_method) to be friendlier to ↵Juan Linietsky
statically typed languages, should help in the Mono integration. Disabled by default.
2016-01-01Update copyright to 2016 in headersGeorge Marques
2015-06-14missing changesJuan Linietsky
2015-04-18-Fixed post-import script-reload buf, fixes #1683Juan Linietsky
2015-04-18Updated copyright year in all headersJuan Linietsky
2014-02-09GODOT IS OPEN SOURCEJuan Linietsky