php-src/ext/gd
Máté Kocsis 8d12f666ae
Fix registration of internal readonly child classes (#15459)
Currently, internal classes are registered with the following code:

INIT_CLASS_ENTRY(ce, "InternalClass", class_InternalClass_methods);
class_entry = zend_register_internal_class_ex(&ce, NULL);
class_entry->ce_flags |= ...;

This has worked well so far, except if InternalClass is readonly. It is because some inheritance checks are run by zend_register_internal_class_ex before ZEND_ACC_READONLY_CLASS is added to ce_flags.

The issue is fixed by adding a zend_register_internal_class_with_flags() zend API function that stubs can use from now on. This function makes sure to add the flags before running any checks. Since the new API is not available in lower PHP versions, gen_stub.php has to keep support for the existing API for PHP 8.3 and below.
2024-08-24 12:36:54 +02:00
..
libgd Declare gdImageGetInterpolationMethod() for bundled GD (GH-15329) 2024-08-10 16:57:48 +02:00
tests Use "must not" instead of "cannot" wording 2024-08-21 21:12:17 +01:00
config.m4 Autotools: Sync CS in gd extension (#15364) 2024-08-12 21:38:30 +02:00
config.w32 Update gd extension preprocessor macros help texts (#15296) 2024-08-09 18:06:02 +02:00
CREDITS Convert GD Resources to objects 2019-09-30 15:14:02 +02:00
gd_arginfo.h Fix registration of internal readonly child classes (#15459) 2024-08-24 12:36:54 +02:00
gd_compat.c Preferably include from build dir (#13516) 2024-06-26 00:26:43 +02:00
gd_compat.h cleanup gd build with system libgd - drop need to use libpng with system libgd - drop need to use libjpeg with system libgd - drop need to use libXpm with system libgd - drop need to use libfreetype with system libgd - improve configure comments 2019-07-22 16:14:19 +02:00
gd.c Use "must not" instead of "cannot" wording 2024-08-21 21:12:17 +01:00
gd.stub.php ext/gd: imagerotate removes ignore_transparent argument. 2023-06-19 12:32:08 +01:00
php_gd.h Declare ext/gd constants in stubs (#9180) 2022-07-30 15:18:06 +02:00