summaryrefslogtreecommitdiff
path: root/ext/spl/spl_observer.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2016-03-20 17:48:06 +0100
committerNikita Popov <nikic@php.net>2016-03-20 17:48:06 +0100
commit12f2665df829eac53e2036e335b40cf391ff8652 (patch)
tree7e5aaf6a5a19415a7a416ff6aa36b02f80a5d66c /ext/spl/spl_observer.c
parenta175aa9dcaed5e295d015ff73c663e06c2335155 (diff)
parentcc3cdd00578006a5684e6dfaf81532a13326b9fe (diff)
downloadphp-git-12f2665df829eac53e2036e335b40cf391ff8652.tar.gz
Merge branch 'PHP-5.6' into PHP-7.0
Conflicts: ext/spl/spl_observer.c
Diffstat (limited to 'ext/spl/spl_observer.c')
-rw-r--r--ext/spl/spl_observer.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/ext/spl/spl_observer.c b/ext/spl/spl_observer.c
index 76b98a51d0..c189205879 100644
--- a/ext/spl/spl_observer.c
+++ b/ext/spl/spl_observer.c
@@ -230,11 +230,6 @@ static zend_object *spl_object_storage_new_ex(zend_class_entry *class_type, zval
intern->std.handlers = &spl_handler_SplObjectStorage;
- if (orig) {
- spl_SplObjectStorage *other = Z_SPLOBJSTORAGE_P(orig);
- spl_object_storage_addall(intern, orig, other);
- }
-
while (parent) {
if (parent == spl_ce_SplObjectStorage) {
if (class_type != spl_ce_SplObjectStorage) {
@@ -249,6 +244,11 @@ static zend_object *spl_object_storage_new_ex(zend_class_entry *class_type, zval
parent = parent->parent;
}
+ if (orig) {
+ spl_SplObjectStorage *other = Z_SPLOBJSTORAGE_P(orig);
+ spl_object_storage_addall(intern, orig, other);
+ }
+
return &intern->std;
}
/* }}} */