Commit graph

94 commits

Author SHA1 Message Date
Roman Telezhynskyi c8844853b5 do not include <ciso646> with C++20 2023-07-17 16:33:57 +03:00
Roman Telezhynskyi 254d32ff7f Optimize usage of defglobal.h. 2023-07-15 13:47:14 +03:00
Roman Telezhynskyi 03630fb273 Refactoring. 2023-05-03 14:07:08 +03:00
Roman Telezhynskyi 64acbfff4c Fix build with Qt 5.6 on Windows. 2023-04-08 09:58:22 +03:00
Roman Telezhynskyi 9cd31f1dd7 Fix notches. 2023-04-06 18:21:24 +03:00
Roman Telezhynskyi 433389b798 QScopedPointer::take() was deprecated since 6.1. 2023-04-03 13:44:20 +03:00
Roman Telezhynskyi 944d9e71e0 Fix compatibility with Richpeace DXF-AAMA/ASTM R12. 2023-04-01 15:03:34 +03:00
Roman Telezhynskyi 718f8bf75a Fix build on Windows. 2023-02-26 10:30:56 +02:00
Roman Telezhynskyi 04d2a1c631 Use QtCore/qcontainerfwd.h header for forward declaration containers. 2023-02-14 14:52:48 +02:00
Roman Telezhynskyi 787cfcfc16 Use QStringConverter to replace QTextCodec. 2023-02-13 19:47:51 +02:00
Roman Telezhynskyi 734e5d0d11 QVector and QStringList are now just aliases to QList. 2023-02-09 17:27:43 +02:00
Roman Telezhynskyi af8505f468 Remove Q_DISABLE_MOVE macro.
Q_DISABLE_MOVE was deprecated.
2023-02-09 17:24:29 +02:00
Roman Telezhynskyi 33b2fb5ed0 Fix GCC warnings. 2023-01-05 15:14:13 +02:00
Roman Telezhynskyi 4a89a0892f Introduce new macro Q_DISABLE_ASSIGN_MOVE. 2022-10-08 15:22:17 +03:00
Roman Telezhynskyi fb85ec4eec Inconsistent $MEASUREMENT/$INSUNITS variables. 2022-09-20 11:50:38 +03:00
Roman Telezhynskyi a13f13e3fc Refactoring.
Optimize includes.
2022-08-22 11:34:02 +03:00
Roman Telezhynskyi 003c9bf33f Fix build. 2022-08-17 15:51:35 +03:00
Roman Telezhynskyi 5b9c1b1d55 Port changes from mainstream. 2022-08-13 19:27:47 +03:00
Roman Telezhynskyi 0ab0edc654 Refactoring. 2022-08-12 18:50:22 +03:00
Roman Telezhynskyi 4e07172a6f Cppcheck warnings. 2022-08-08 15:25:14 +03:00
Roman Telezhynskyi 29bd9b6497 Implementation of C++14's make_unique for C++11 compilers. 2022-02-17 15:45:41 +02:00
Roman Telezhynskyi eae539dc4a Add missing header. 2022-02-17 14:44:53 +02:00
Roman Telezhynskyi 95e115faca make_unique available since C++14. 2022-02-17 13:04:51 +02:00
Roman Telezhynskyi 6f55659c16 Fix build. 2022-02-08 20:40:33 +02:00
Roman Telezhynskyi 5b3bcdf1af Remove unused DRW_Class::parseCode() method. 2022-02-07 14:55:31 +02:00
Roman Telezhynskyi adea504bc1 protect vector<>.reserve() calls
Malformed or suspicious input files can cause std::exceptions by
vector<>.reserve() calls. Now they are caught to avoid crashes or other
vulnerabilities.
2022-02-07 14:52:41 +02:00
Roman Telezhynskyi 1639603551 Added NULL check for hatch code 93. 2022-02-07 11:49:20 +02:00
Roman Telezhynskyi f28660e0ea Clang warnings. 2021-11-24 14:50:31 +02:00
Roman Telezhynskyi 612306bbd8 Cppcheck warning. 2021-11-24 14:25:47 +02:00
Roman Telezhynskyi b9958e9953 fixed LibreCAD 2 issue #1371, read failed with binary DXF 2021-11-23 14:48:30 +02:00
Roman Telezhynskyi 0db9e1f728 Class to handle plot settings object entries. 2021-11-23 14:43:26 +02:00
Roman Telezhynskyi c6bd3ae727 Fix typo. 2021-11-23 13:21:24 +02:00
Roman Telezhynskyi 11a7fc2652 viewport - target xyz. 2021-11-23 13:16:58 +02:00
Roman Telezhynskyi 6a219c5ed4 Port set version bug from solvespace fork and cleanup version handling in DRW_TextCodec.
One of the most intrusive changes in QGIS' fork was that the debugging code was replaced with hardcoded changes to redirect the output to QGIS' internal logging mechanism. In this PR I've setup an interface to allow clients to create custom output debugging classes and assign these to be used by the library.

This will allow me to remove all the related downstream changes in QGIS' fork and re-sync these files back to upstream.
Interface for debug printers.
2021-11-23 13:12:11 +02:00
Roman Telezhynskyi a8d8fa0946 Modernize debugging. 2021-11-23 11:28:54 +02:00
Roman Telezhynskyi 642fbe815d Use ununordered_map instead of map
Should result in a performance boost when reading large files.
2021-11-23 11:15:11 +02:00
Roman Telezhynskyi c51d9d5b30 More modernization and cleanups. 2021-11-22 19:28:51 +02:00
Roman Telezhynskyi 5f6445cf93 Read extrusion tags for dimension entities
Dimension entities support DXF codes 210, 220, 230 and and DRW_Dimension
already had a extPoint member, but the tags were never used when
parsing.
2021-11-22 18:53:33 +02:00
Roman Telezhynskyi b18f09d86e DRW_Coord: Simplify constructor. 2021-11-22 18:48:47 +02:00
Roman Telezhynskyi c7fc0b8dcb Misc. typos 2021-11-22 18:44:44 +02:00
Roman Telezhynskyi 1b4dfc7988 Misc typos: length. 2021-11-22 18:39:20 +02:00
Roman Telezhynskyi 47e0e3d0f3 fixed heap use after free vulnerability CVE-2021-21900
as reported in TALOS-2021-1351 / CVE-2021-21900,
DRW_TableEntry::parseCode had the potential to trigger an use after free exception with a malformed DXF file.
2021-11-22 18:22:27 +02:00
Roman Telezhynskyi b861d6a28e GCC warnings. 2021-09-25 17:18:33 +03:00
Roman Telezhynskyi 51ed05e1fa GCC warnings. 2021-09-25 12:57:15 +03:00
Roman Telezhynskyi 1b3e133309 GCC warnings. 2021-09-25 12:42:28 +03:00
Roman Telezhynskyi 2ffda9a073 Introduce *_MARK_NONFINAL_CLASS and *_MARK_NONFINAL_METHOD macroses to suppress GCC warning Wsuggest-final-types. 2021-09-25 11:43:05 +03:00
Roman Telezhynskyi 613502b392 Improve error handling for the dxf export. 2021-04-28 20:06:24 +03:00
Roman Telezhynskyi 2bb95154cd Fix Tape crash. 2021-02-06 15:52:21 +02:00
Roman Telezhynskyi 80d9fbc107 New function Warning. 2020-11-20 13:18:38 +02:00
Roman Telezhynskyi 4cea74d63b Loading measurements in Valentina. 2020-10-15 18:05:21 +03:00