Commit Graph

56 Commits

Author SHA1 Message Date
mosfet80
be3ad26140 Disable python2 support
Disable python2 support
2024-12-01 10:39:48 +01:00
supermixed
f763425b4f Core: Import STEP: Cancel button does not cancel (#16499)
* Fix importing .step file when user cancelled import settings dialog
* Refactor object loading python code, fix not using settings when STEP options dialog not shown
* Use custom exception type for user cancelling import instead of `RuntimeError`
* Pull python code out to external file
2024-09-20 08:25:23 -05:00
marioalexis
776158addd Base: Add PropertyError exception 2024-08-02 20:19:16 -03:00
Chris Hennes
98b3df9442 Base: Fix missing NOLINTEND 2023-11-22 11:15:32 +01:00
wmayer
08b10cd287 fix cppcoreguidelines-*
* cppcoreguidelines-init-variables
* cppcoreguidelines-c-copy-assignment-signature
* cppcoreguidelines-macro-usage
* cppcoreguidelines-non-private-member-variables-in-classes
* cppcoreguidelines-pro-type-member-init
* cppcoreguidelines-slicing
* cppcoreguidelines-special-member-functions
* cppcoreguidelines-virtual-class-destructor
2023-11-16 01:22:09 +01:00
wmayer
e4975f0153 fix readability-braces-around-statements 2023-11-16 01:22:08 +01:00
wmayer
e85c383bff Base: apply clang format 2023-11-13 12:01:26 -05:00
wmayer
010dca8303 Base: C++ core guidelines: init variables 2023-08-24 18:48:52 +02:00
wmayer
4fb07bcfd6 Base: modernize C++: use default member init 2023-08-23 19:51:44 +02:00
marioalexis
2185b8086d Base: Add helper function to check Python types 2022-09-24 05:10:34 +02:00
wmayer
d2168f51b9 Base: modernize C++: replace 'typedef' with 'using' 2022-08-29 11:42:09 +02:00
wmayer
231de30c2f Base: add convenience function to convert PyObject_IsTrue to a boolean 2022-07-16 12:41:01 +02:00
wmayer
c955372ecf cppcoreguidelines-pro-type-union-access
According to https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md using union for type-punning is undefined behaviour.
 Replace it with std::memcpy
2022-06-24 14:29:50 +02:00
wmayer
9160f06e1c Base: rename BaseExceptionFreeCADError to PyExc_FC_GeneralError 2022-03-17 14:45:48 +01:00
wmayer
d69defaa3c Py: replace BaseExceptionFreeCADError with more suitable exception types 2022-03-17 13:54:23 +01:00
wmayer
10a13c6dbc Base: add more custom Python exception types 2022-03-17 11:29:09 +01:00
Uwe
9a42b61fcb [Base] Py and Placement: remove unused includes 2022-03-01 12:13:58 +01:00
wmayer
31e2e95203 Base: Exception handling:
* Harmonize FreeCAD with Python exception types
* Implement AbortException::getPyExceptionType() to avoid handling it in client code
* Remove catch block for plain C strings
2022-01-19 18:00:04 +01:00
wmayer
2f99b5b56d Base: [skip ci] allow to access the twin pointer of a PyObjectBase 2021-12-11 08:33:50 +01:00
wmayer
af16ab02a0 Base: remove some more deprecated Py2 code
and remove deprecated void from function signature and replace 0 or NULL with nullptr
2021-04-26 10:29:48 +02:00
luz paz
142c2c2c4d Base: remove Py2 code 2021-04-26 09:23:58 +02:00
wmayer
56fb65de62 Base: use Python's weak reference mechanism to avoid memory leaks due to cyclic dependencies 2021-04-23 11:02:19 +02:00
wmayer
111a21e45c Base: do not report C++ exception when converting it to Python exception
See https://forum.freecadweb.org/viewtopic.php?f=23&t=56464
2021-04-11 14:54:11 +02:00
Chris Hennes
7d5a1d7e5d Remove catch block for plain C strings
LGTM complains about this construct leaking memory. Commit 13927b2465
eliminated the parts of FreeCAD that throw those strings. This commit
eliminates the catch block.
2021-02-07 13:41:42 +01:00
luz paz
d5f6c096b8 Base: Fix header uniformity, whitespace, and doxygen
[skip ci]
2020-11-22 18:12:16 +01:00
wmayer
39cd29c0d7 Part: [skip ci] include OCC hesder to PCHs, fix compiler warning when trying to delete void pointer 2020-09-28 20:23:33 +02:00
wmayer
afd6f39197 Base: [skip ci] allow to replace twin object of PyObjectBase 2020-09-28 11:21:20 +02:00
wmayer
cd5341001e remove superfluous includes of iostream, use iosfwd instead 2020-07-28 15:22:23 +02:00
luz.paz
6f11ed298a src/Base: [skip ci] fix header uniformity
This PR fixes header uniformity across all `src/Base` files
2019-12-25 11:38:58 +01:00
Zheng, Lei
22541cfbdf Base: fix line ending in PyObjectBase.h 2019-08-28 17:46:06 +02:00
Zheng, Lei
9e3a981d37 Base: fix duplicated exception message
Because the exception can propagate across C++ and Python boundary
multiple times, prepending extra information may cause duplication,
something like,

"FreeCAD exception thrown(FreeCAD exception thrown(..."
2019-08-17 15:32:49 +02:00
Zheng, Lei
59417068f5 Base: improve exception
For better FC and Python exception mapping.
2019-08-17 14:52:08 +02:00
wmayer
dedaa80762 fixes 0003771: Memory leak in Part.Face.Surface 2019-01-23 22:38:51 +01:00
Michal Ulianko
faf8834484 py3.7 fix
PyUnicode_AsUTF8() returns const char* in py3.7 instead of char*. Making
changes to reflect that which should also be safe in
other Python versions.
2018-09-01 22:44:39 +02:00
wmayer
f8f4cd76cc clear dict when invalidating Py object to fix possible cyclic references 2018-08-25 21:49:57 +02:00
wmayer
840c9e8b3c prepare for PyCXX 7.0 2018-04-18 19:20:50 +02:00
Unknown
a8ecffb652 Misc. typo fixes
Various workbenches
2017-12-23 14:30:30 +01:00
wmayer
69d0e8bd7f py3: partially revert of getattr -> getattro because getattro is only needed for the static callback function
issue 0000995
2017-06-03 10:51:05 +02:00
looooo
bc696e5ab5 py3: change of getattr -> getattro
issue 0000995
2017-06-03 10:51:05 +02:00
wmayer
1673ab801e use specialized exception classes 2017-04-28 18:49:11 +02:00
wmayer
df1e2642d0 replacement for PR 698 2017-04-27 23:05:40 +02:00
wmayer
19111f1ed7 issue #2902: track attribute objects in parent structure to notify about changes 2017-02-14 16:38:38 +01:00
wmayer
4f23b569b3 issue #0002902: replace members of PyObjectBase with a PyDictObject 2017-02-14 13:09:09 +01:00
wmayer
b72aa9f369 issue #0002902: PyObjectBase notification chain can lead to unexpected changes to document 2017-02-14 00:32:30 +01:00
wmayer
36e1d072a6 fix -Wunused-variable 2017-01-27 16:10:19 +01:00
looooo
9f2a389dbc py3: add PyMOD_INIT_FUNC
from: py3: ported module init to python3, wwmayer
2017-01-25 10:16:06 +01:00
wmayer
fc2bbf52f9 remove deprecated macros 2016-11-09 16:58:54 +01:00
wmayer
1e12b54a7b Coverity issues:
129202: replace dynamic_cast with static_cast
129421, 129422: fix Py_Return macro
128928: Unchecked return value
129488, 129490: uninitialized scalar variable
129567, 129661: uninitialized scalar field
129665: uninitialized pointer field
2016-08-15 21:28:41 +02:00
wmayer
ee28daa669 + replace old C casts with static_cast in generated C++ code, remove unused parent structure of Python classes, support of -1 as return value of setCustomAttributes 2015-09-27 22:08:08 +02:00
Mateusz Skowroński
43a4a5938c Fix files encoding. Go from ISO8859-1 to UTF-8. 2015-09-21 19:50:49 -03:00