Commit Graph

15 Commits

Author SHA1 Message Date
wmayer
3d2d4bdfcb store Python attributes of all extension types in one dict 2018-09-27 21:48:30 +02:00
looooo
f2e1b0df72 py3: PyFindMethod -> GnericGetAttr
issue 0000995
2017-06-03 10:51:05 +02:00
wmayer
7f58ad2a4b implement ExtensionContainerPy::getCustomAttributes to return a PyCFunction bound to the correct object 2016-11-13 17:49:10 +01:00
wmayer
5f12a043fa fix several gcc warnings 2016-11-08 14:31:08 +01:00
wmayer
9ac1810ea3 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
3a51404dd5 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
22fa3b3922 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
773c79d6b6 Extensions: Fix crash due to wrong reference count 2016-10-08 12:48:34 +02:00
Stefan Tröger
9260b61948 Extension: Dont override PythonFeature proxy name 2016-10-08 12:48:34 +02:00
Stefan Tröger
b27875a777 Extension: Delete extensions correctly 2016-10-08 12:48:34 +02:00
Stefan Tröger
258be36aad Extensions: Handle new dynamic_cast's 2016-10-08 12:48:34 +02:00
Stefan Tröger
7bcb6519cc Extensions: Make Python Integration work 2016-10-08 12:48:34 +02:00
Stefan Tröger
93222098f0 Extensions: Allow them to be added dynamically 2016-10-08 12:48:34 +02:00
Stefan Tröger
a8d0accdad Extensions: special calls for document object extensions 2016-10-08 12:48:34 +02:00
Stefan Tröger
4c42181e34 Extensions: Show up in the python interface 2016-10-08 12:48:34 +02:00