Commit Graph

96 Commits

Author SHA1 Message Date
wmayer
655d5e4fbd Base: enable user site-packages for Py >= 3.11
For more details see: https://forum.freecad.org/viewtopic.php?p=748296#p748296
2024-03-20 19:24:45 +01:00
Ladislav Michl
1215301e59 Base: Fix #12061
While rebasing after f539138dd9 ("fix readability-*:") a mistake was
make, causing  exception been thrown for every file opened. While there,
invert file test existence logic, so we return early on failure.

Fixes: 95b37fa806 ("Base: Do not use else before return")
2024-02-26 17:39:33 +01:00
Ladislav Michl
95b37fa806 Base: Do not use else before return 2024-01-21 16:14:12 +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
7c00932fa0 fix readability-isolate-declarations 2023-11-16 01:22:08 +01:00
wmayer
f539138dd9 fix readability-*:
* readability-const-return-type
* readability-container-data-pointer
* readability-container-size-empty
* readability-delete-null-pointer
* readability-else-after-return
* readability-inconsistent-declaration-parameter-name
* readability-redundant-member-init
* readability-redundant-smartptr-get
* readability-redundant-string-cstr
* readability-use-anyofallof
* readability-static-definition-in-anonymous-namespace
* readability-static-accessed-through-instance
* readability-simplify-boolean-expr
2023-11-16 01:22:08 +01:00
wmayer
73a1e90e45 fix readability-identifier-length 2023-11-16 01:22:08 +01:00
wmayer
e85c383bff Base: apply clang format 2023-11-13 12:01:26 -05:00
wmayer
0a9f664f46 Base: fix crash in PyException::ReportException() 2023-11-06 10:08:18 +01:00
Ed Williams
792af641db Base: set sys.last_vars to enable post mortem debugging after exception
* Update Interpreter.cpp to enable stack trace

This enables python debuggers to stack trace after an exception.
See https://forum.freecad.org/viewtopic.php?p=714349#p714349

Co-authored-by: bdieterm <119257544+bdieterm@users.noreply.github.com>
2023-10-31 09:40:57 +01:00
mosfet80
d453672ab8 [BASE] Removed dead code (#10330) 2023-08-28 10:41:20 -05:00
wmayer
010dca8303 Base: C++ core guidelines: init variables 2023-08-24 18:48:52 +02:00
wmayer
5f0ec490e6 Core: modernize C++: return braced init list 2023-08-19 11:35:41 +02:00
wmayer
2bc90e6090 Base: modernize C++: return braced init list 2023-08-18 00:36:24 +02:00
wmayer
c7a17468e7 modernize C++: use noexcept 2023-08-07 16:06:58 +02:00
Abdullah Tahiri
1307f708c7 Interpreter: Fix lack of notifier in DeveloperError call 2023-06-01 19:25:00 +02:00
Abdullah Tahiri
c2b2b0c1fa Base: Interpreter - Mark Exception reporting and stack as intended for developers 2023-05-23 14:24:45 +02:00
wmayer
c7a21ecbee Fixes #8206: FreeCAD segfaults being run with parameters (e.g .desktop file has /usr/bin/freecad --single-instance) 2023-02-11 17:49:52 +01:00
marioalexis
1972dfe5a3 Base: Replace C cast 2022-09-18 11:06:51 -05:00
wmayer
7824d7b1df Base: fix several warnings reported by code analyzers 2022-08-02 13:04:50 +02:00
berniev
8aff4a7503 Base: Modernise ctors dtors defs etc 2022-08-02 12:37:46 +02:00
Uwe
90abdf2752 [Base] remove some more superfluous nullptr checks 2022-07-18 13:07:16 +02:00
Uwe
53571f7196 [Base] remove superfluous nullptr checks 2022-07-18 03:16:22 +02:00
wmayer
1ae55905ba Py: make FreeCAD to compile with Py3.11 2022-07-01 17:54:50 +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
marioalexis
82da0065c4 Base: Add function to get Python object types for SWIG interfaces 2022-06-21 21:01:37 -04:00
Zheng, Lei
3ef438eaf0 Fix mixed line endings 2022-04-26 12:52:55 -05:00
Chris Hennes
3b42d4afac Base: PR6497 move return statement to new line 2022-03-29 12:34:34 -05:00
wmayer
882e34f2ce Base: modernize C++11
* use nullptr
2022-03-23 16:57:25 +01:00
wmayer
c8edbe0c30 Base: [skip ci] cleaning up modules is only needed for leak detectors 2022-03-20 13:39:22 +01:00
wmayer
d69defaa3c Py: replace BaseExceptionFreeCADError with more suitable exception types 2022-03-17 13:54:23 +01:00
wmayer
a22608b7b5 Base: let interpreter keep track of created modules 2022-03-13 22:34:01 +01:00
wmayer
58a719e207 Base: move ILogger sub-classes to their own source files in order to reduce including stream classes in client code 2022-03-06 10:13:47 +01:00
Uwe
6afab502ca [Base] Geometry etc.: remove unused includes 2022-03-01 13:56:02 +01:00
Uwe
d11d00cb70 [Base] fix typo to silence spellchecker CI 2022-02-22 02:31:51 +01:00
wmayer
44e82ac3c4 App: remove some more deprecated Py2 code
and remove deprecated void from function signature and replace 0 or NULL with nullptr
2021-04-26 10:55:56 +02: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
df0f979f3b App/Gui: fix memory leaks:
+ add function to cleanup units and quantities in debug build
+ fix reference leak in PropertyVector::getPyPathValue()
+ fix reference leak in PropertyPlacement::getPyPathValue()
+ in InterpreterSingleton::init() use a static std::vector<wchar_t*> instead of a C array
  to free memory at program end
+ in MainWindow::closeEvent() explicitly delete all task watchers
+ in ReportOutputObserver constructor pass parent to QObject
+ in PropertyEditor destructor explicitly delete QItemEditorFactory
2021-02-27 10:56:19 +01:00
wmayer
a152cd2d96 Py: [skip ci] replace PyList_Append with Py::List::append 2020-12-13 16:44:14 +01:00
luz paz
d5f6c096b8 Base: Fix header uniformity, whitespace, and doxygen
[skip ci]
2020-11-22 18:12:16 +01:00
wmayer
0d27ad18ca Base: [skip ci] fix several -Wunused-parameter warnings 2020-11-06 08:15:44 +01:00
wmayer
36bece9925 Base: [skip ci] fix several -Wunused-parameter warnings 2020-11-06 08:14:00 +01:00
wmayer
34c11fcc63 Base: Py2 related fix 2020-09-04 19:02:29 +02:00
wmayer
1c91c1287e Base: [skip ci] Various fixes in InterpreterSingleton::runStringWithKey:
+ fix memory leak (localDictionary) by replacing C API with PyCXX
+ don't write the whole code as error message if an error occurs. Python raises an exception with all relevant information for debugging
2020-09-04 09:58:21 +02:00
mwganson
df0204466e [CheckGeometry] fix segfault, reformat output with lower case, use try/except to check for runtime python errors and fall back on OCCT method if script failed. 2020-09-03 12:09:38 +02:00
mwganson
b553ebe48b [check geometry] decrement some pyobject references 2020-09-03 12:09:38 +02:00
mwganson
9bb3b0e046 [CheckGeometry] fix python2 build 2020-09-03 12:09:38 +02:00
mwganson
1b8a410d29 [CheckGeometry] fix py2 build failure 2020-09-03 12:09:38 +02:00
mwganson
dc3befbff3 [CheckGeometry] update a source code comment 2020-09-03 12:09:38 +02:00