Commit Graph

4 Commits

Author SHA1 Message Date
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
86f66c31da Extensions: Fix visibility restore issue 2016-10-08 12:48:34 +02:00
Stefan Tröger
1b150a86c3 Extensions: Add ViewProvider extension python types 2016-10-08 12:48:34 +02:00
Stefan Tröger
f61bb9062e Extensions: Port ViewProvider of groups 2016-10-08 12:48:34 +02:00