Commit Graph

27 Commits

Author SHA1 Message Date
wmayer
2bb5797568 PVS: V595 The pointer was utilized before it was verified against nullptr 2019-02-17 20:55:52 +01:00
wmayer
6e5369da3a fix possible double destruction when removing a group and its content from document 2019-01-16 00:35:34 +01:00
wmayer
7dc13bd2d6 Replace Base::Exception with appropriate subclass 2018-11-14 23:17:42 +01:00
Stefan Tröger
957b23e610 Don't check for multiple groups when performing a transaction. fixes #0003150
During undo/redo the order in which objects are removed from a group and added to annother is arbitrary, hence it cannot comply to the single Group rule. Not echking for it in this case is unproblematic, as undo/redo only recrete former states, and those states have been checked in normal operation.
2017-09-21 12:48:39 +02:00
wmayer
09737f2db3 rename method from remObject to removeObject to be more readable 2017-09-13 18:57:38 +02:00
wmayer
e260f9dabd improve whitespaces 2017-09-09 18:07:46 +02:00
Stefan Tröger
d92b631dad Make Origins work well with scoped links 2017-09-09 16:55:55 +02:00
Stefan Tröger
972b89d0a0 Make PartDesign::Boolean work with new Link structure
This is the first feature that used GeoFeatureGroupExtension and required links to the groups inside as well as to things on the same level. Hence a few modifications to link scopes have been nesseccary.
2017-09-09 16:55:55 +02:00
Stefan Tröger
96f8d944f8 Make Group searching robust for cyclic dependencies. fixes #0002567 2017-09-09 16:55:55 +02:00
Stefan Tröger
c0a270a76e Ensure objects to be in a single GeoFeatureGroup only 2017-09-09 16:47:07 +02:00
wmayer
989fe4028e various fixes:
+ fix typos
+ fix const correctness
+ whitespace improvements
2017-06-19 17:18:16 +02:00
Stefan Tröger
4ecd831bfd GeoFeatureGroup: Make link collection non-DAG save 2017-06-19 15:37:09 +02:00
Stefan Tröger
da866e5b4d Allow add/remove multiple objects in a group 2017-06-19 15:37:09 +02:00
Stefan Tröger
9fbf118cdd Group tests and fixes 2017-06-19 15:37:09 +02:00
Stefan Tröger
f0f7125a11 Group: ensure single group only 2017-06-19 15:37:09 +02:00
Stefan Tröger
183a4b4ef3 GeoFeatureGroup: Handle drag into document 2017-06-19 15:37:09 +02:00
Stefan Tröger
aa0d25f54f Groups: Handle add and remove object correctly 2017-06-19 15:37:09 +02:00
Stefan Tröger
bdf981e770 Unify and fix group handling in geofeaturegroups 2017-06-19 15:37:09 +02:00
wmayer
3e862bd557 Add addObjects to add multiple objects in one step 2017-05-07 16:06:39 +02:00
Stefan Tröger
109f8690ee Extensions: Fix GeoFeatureGroup drag&drop 2017-01-04 16:01:58 +01:00
Stefan Tröger
47ed29fffd Extensions: GeoFeatureGroup only for GeoFeature 2017-01-04 16:01:58 +01:00
Stefan Tröger
26daea0c88 Remove unneeded console output 2016-11-09 21:47:01 -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
b27875a777 Extension: Delete extensions correctly 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
c47c34edff Extensions: bring files in correct order 2016-10-08 12:48:34 +02:00