summaryrefslogtreecommitdiff
path: root/core/object.cpp
diff options
context:
space:
mode:
authorKostadin Damyanov <maxmight@gmail.com>2015-08-09 12:45:21 +0300
committerKostadin Damyanov <maxmight@gmail.com>2015-08-09 12:45:21 +0300
commitcdf1ac7d58f3dc026cd316a66450771762d74432 (patch)
tree635ab608220b2940674098253efddbca7a69377a /core/object.cpp
parentf5bfd497aab7e24a6f4dc0315e9e9333504067a0 (diff)
parentc2e2f2e0aebf6342e6f18ae5d67b6a825590675a (diff)
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'core/object.cpp')
-rw-r--r--core/object.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/core/object.cpp b/core/object.cpp
index 6bb7973cef..07ac430d7a 100644
--- a/core/object.cpp
+++ b/core/object.cpp
@@ -258,12 +258,15 @@ bool Object::_predelete() {
_predelete_ok=1;
notification(NOTIFICATION_PREDELETE,true);
+ if (_predelete_ok) {
+ _type_ptr=NULL; //must restore so destructors can access type ptr correctly
+ }
return _predelete_ok;
}
void Object::_postinitialize() {
-
+ _type_ptr=_get_type_namev();
_initialize_typev();
notification(NOTIFICATION_POSTINITIALIZE);
@@ -1707,7 +1710,7 @@ bool Object::is_edited() const {
Object::Object() {
-
+ _type_ptr=NULL;
_block_signals=false;
_predelete_ok=0;
_instance_ID=0;