Commit Graph

14 Commits

Author SHA1 Message Date
looooo
85bb30495e py3: PyFindMethod -> GnericGetAttr
issue 0000995
2017-06-03 10:51:05 +02:00
wmayer
cc27b24da7 implement ExtensionContainerPy::getCustomAttributes to return a PyCFunction bound to the correct object 2016-11-13 17:49:10 +01:00
wmayer
ff2a361928 fix several gcc warnings 2016-11-08 14:31:08 +01:00
wmayer
f1127dd2f4 Fix issues:
+ improve formatting
+ remove superfluous semicolons
+ comment unused parameters
+ rename Initialisation to Initialization
+ rename Deinitialisation to Finalization
+ remove spaces
2016-10-08 12:48:34 +02:00
Stefan Tröger
0ae9346b3c Extenions: Drop virtual inheritance
Due to problems onthe windows platform the virtual inheritance approach must be dropped. NExt to the already reimplemented proeprty interface the Type interface is reimplemented too. This change allows to revert some earlier changes.
2016-10-08 12:48:34 +02:00
Stefan Tröger
89bbb81521 Extension: Fix order-of-initialisation crash
FreeCADs property system utilises some pointer math to calculate the offset between
property and base class. Due to virtual inheritance of th ePropertyContainer the memory
layout has been changed to rather random, which has lead to crashes dependend on the
order of object initialisation.

The solution is to not make PropertyContaner virtual but a class below, Base::Persitance.
Then the memory layout is random for Persistance, but it is perfectly aligned for the
base class chains from PropertyContainer onwards as well as from Extension onwards.
Hence the proeprty system was changed to take the offset always from those two.
2016-10-08 12:48:34 +02:00
Stefan Tröger
fc34fc2f2f Extensions: Fix crash due to wrong reference count 2016-10-08 12:48:34 +02:00
Stefan Tröger
07d749525f Extension: Dont override PythonFeature proxy name 2016-10-08 12:48:34 +02:00
Stefan Tröger
7a2fed1b75 Extension: Delete extensions correctly 2016-10-08 12:48:34 +02:00
Stefan Tröger
3e1ba47d61 Extensions: Handle new dynamic_cast's 2016-10-08 12:48:34 +02:00
Stefan Tröger
f0f31ff94c Extensions: Make Python Integration work 2016-10-08 12:48:34 +02:00
Stefan Tröger
88484d7054 Extensions: Allow them to be added dynamically 2016-10-08 12:48:34 +02:00
Stefan Tröger
16f8dbbacd Extensions: special calls for document object extensions 2016-10-08 12:48:34 +02:00
Stefan Tröger
552fe52774 Extensions: Show up in the python interface 2016-10-08 12:48:34 +02:00