Commit Graph

2853 Commits

Author SHA1 Message Date
Matthias Koefferlein 25d5eae965 Fixed a merge issue. 2021-02-25 23:28:46 +01:00
Matthias Koefferlein 96386383d0 Fixed a linker issue 2021-02-25 23:07:23 +01:00
Matthias Koefferlein f299b3aaa2 Updated version 2021-02-25 22:07:50 +01:00
Matthias Koefferlein ba869a0666 Updated Changelog 2021-02-25 22:07:18 +01:00
Matthias Koefferlein 5aec4cf2cb Fixed #728 2021-02-25 22:04:39 +01:00
Matthias Koefferlein 4070923785 Updated Changelog. 2021-02-25 21:38:15 +01:00
Matthias Köfferlein c55020601c * #730: providing a new Qt module named QtUiTools for QUiLoader class support.
* Fixed a compile error on Mac

* Added QtUiTools to some more places

* Fixed a linker issue in the QtUiTools Python lib

* On occasion fixed a infinite recursion problem in the debugger

The recursion happened because by mistake I instantiated a
QApplication inside an in-application Python script. This
crashed the debugger due to infinite recursion. This is not
a real use case but to prevent similar issues, a recursion
sentinel was added.

* Removed QCoreApplication#notify from script bindings

Reasoning: "notify" made standalone scripts using QApplication and
QUiLoader virtually impossible.

Problem description:
- When a QApplication object is instantiated, e.g. in Python, the Qt binding
  will install reimplementation hooks as the object may be dynamically
  extended.
- A notify is virtual this means the *every* "notify" call in the application
  is routed through the interpreter.
- For one thing this will slow down the application
- But as "notify" is called a zillion times this has more than this side effect.
- Specifically "notify" is called from within the QWidget constructor to
  indicate a new widget. Then, if a QDialog for example is instatiated, it's
  base class constructor will call "notify" when the object isn't ready yet.
- This has another severe side effect: as the object isn't ready yet, it gets
  registered in the Python space with the wrong class and QDialog is not visible
  as such.

To mitigate these problems, the most efficient solution is to disable "notify"
in general. There is hardly any use case in a script environment (in C++,
apart from hacking the only reasonable use case is exception handling, but
this does not apply to scripts). For providing the call functionality of
"notify" you should better use "postEvent" or "sendEvent" anyway.

So farewell QCoreApplication.notify ...

* Fixed python test for QtUiTools module

* Fixed UiTools test on Qt4 - QUiLoader needs an application object

Co-authored-by: Kazunari Sekigawa <kazunari.sekigawa@gmail.com>
2021-02-25 21:36:34 +01:00
Matthias Köfferlein 915ef7c630 Fixed issue by providing a compatibility bridge between tl::Stream (abstract paths) and tl::URI (#734) 2021-02-25 21:32:08 +01:00
Matthias Koefferlein d6cb59d13b Fixed type in date of Changelog. 2021-02-13 09:55:08 +01:00
Kazunari Sekigawa eacaf1780e
Update of the build system for macOS (#725)
* Updated the background image for mac DMGs.

* Updated a convenience tool for making DMGs for macOS.
2021-02-08 22:06:38 +01:00
Matthias Koefferlein b695a2b2c1 Updated Changelog 2021-02-06 22:47:29 +01:00
Matthias Koefferlein 99280481fe Fixed #726. 2021-02-06 22:46:18 +01:00
Matthias Koefferlein 287dbce783 Updated Changelog 2021-02-04 21:27:04 +01:00
Matthias Koefferlein ac1cf0880d Fixed #723 2021-02-04 21:25:18 +01:00
Matthias Koefferlein e54952874c Updated Changelog. 2021-02-02 23:05:23 +01:00
Matthias Koefferlein 502b673b4c Updated changelog. 2021-02-02 22:54:33 +01:00
Matthias Köfferlein a0cc5fa52a Issue 720 (#721)
* Implemented a backup scheme for the file writer.

* Also consider backup files when the writer fails.

* Removed test exception

* Added config option for number of backups.
2021-02-02 22:50:59 +01:00
Matthias Koefferlein ca05a83021 Updated changelog. 2021-02-02 22:47:43 +01:00
Matthias Koefferlein 0bedc4edac Removed inclusion of APPDATA into search path on Windows - this was pulling DLLs from other installations. 2021-02-02 22:45:07 +01:00
Matthias ab7db78ee8 Fixed crash in WebDAV access test observed on MacOS, but probably also relevant for other platforms. 2021-02-02 10:53:03 -08:00
Matthias Koefferlein 84863cce71 Yet another test suite Python compatibility fix. 2021-02-01 22:14:18 +01:00
Matthias Koefferlein e1fbeca184 Compatibility with older Ruby and Python versions in unit tests. 2021-02-01 22:14:05 +01:00
Matthias Koefferlein 17195ef9d4 Updated copyright file 2021-02-01 12:38:45 +01:00
Matthias Koefferlein c3c8f20e36 Fixed some merge issues 2021-02-01 10:13:44 +01:00
Matthias Koefferlein 6c6d2c9aee Updated changelog. 2021-01-31 20:24:03 +01:00
Matthias Koefferlein 881479636f Adapted test data to 0.26. 2021-01-31 20:04:06 +01:00
Matthias Köfferlein 47d9001ba6 Issue 718 (#719)
* WIP: first part of fix - generation of hole cutlines

First problem was that hole cutlines got extended
over the whole length and sometimes lead to coincident
edges which are difficult to resolve for the polygon
cutter.

* Refined solution, fixed #718

- disabled elaborate hole insertion procedure for now as the
  performance impact has to be assessed yet and the new scheme
  will break many tests
- stricter rejection of ambiguous configurations in the polygon cutter
- fallback is boolean AND now since there is no need to re-invoke the
  polygon cutter (we can't do so as we made it more strict).
  Performance-wise we replace a merge by an AND step which may even be
  faster the output is smaller and the polygon cutter does not need
  to be re-invoked.

* Compatibility with other STLs
2021-01-31 19:23:36 +01:00
Matthias Köfferlein bed82733e6 Fixed #709. (#714) 2021-01-31 19:21:54 +01:00
Kazunari Sekigawa 1243962478
Update of the macOS development environment for Big Sur (#711)
* In the MacPorts environment, Ruby 2.7 is used.

* Updated the build tools for Mac supporting Qt-5.15.2 from MacPorts.

* Updated the Ruby environment for BigSur and Catalina.

* To update the Mac DMG maker to support Big Sur.

* Updated the resource files for Mac DMGs.
2021-01-27 12:43:48 +01:00
Matthias Koefferlein f3923f5875 Fixed Qt-less builds. 2021-01-27 12:42:15 +01:00
Matthias Koefferlein 0c8e38893b Fixed Qt-less builds. 2021-01-27 12:42:09 +01:00
Matthias Koefferlein 2925f07c6c Updated version 2021-01-25 21:49:53 +01:00
Matthias Koefferlein c324a21649 Fixed merge and build issues. 2021-01-25 21:46:18 +01:00
Matthias Koefferlein 77f6327940 Some issues with the byte array binding fixed, less ambiguitites with Qt bindings, tests added. 2021-01-25 12:54:24 +01:00
Matthias Koefferlein 405445a427 Mapping QByteArray (and std::vector<char>) to Python 'bytes' now. 2021-01-25 12:52:29 +01:00
Matthias Köfferlein 233bff538b Fixed #704 (DXF reader: rational splines not supported) (#705)
* Fixed issue #704. TODO: replace algorithm by De Boor, check if accuracy is still maintained.

* Switch spline interpolation algorithm to De Boor for better numerical stability.

* Updated tests with DXF accuracy test, provide a warning for unsupported SPLINE types.
2021-01-25 12:49:39 +01:00
Kazunari Sekigawa bf4e19728b
In the MacPorts environment, Ruby 2.7 is used. (#690) 2020-12-08 23:32:28 +01:00
Matthias Koefferlein 1c234a0b23 Update Travis config - shifted XCode version to latest ones, enabled Python 3.9 for MacOS 10.13, removed MacOS 10.11 for which there is no recent XCode. 2020-11-30 21:57:54 +01:00
Matthias Koefferlein 6583c2bf38 Attempt to fix Travis builds for Python 3.8+3.9 on MacOS 2020-11-28 23:24:46 +01:00
Matthias Koefferlein ee60461789 Attempt to fix setup.py for 3.9 (Windows build fails because of quotes around include paths in compiler call) 2020-11-28 22:11:33 +01:00
Matthias Koefferlein 2eb7c4f6ca Fixed Azure pipeline definition file. 2020-11-28 21:41:21 +01:00
Matthias Koefferlein a22ab8978b Added Python 3.9 support for Windows. 2020-11-28 21:31:52 +01:00
Matthias Koefferlein 1d34b39d85 Updated Travis config file 2020-11-28 19:13:10 +01:00
Matthias Koefferlein 032cdf6cd1 Python 3.4 no longer supported by Travis 2020-11-28 17:31:38 +01:00
Matthias Koefferlein 88db2a802b Added Python 3.9 support 2020-11-28 17:29:27 +01:00
Matthias Koefferlein 26e8da0925 Changelog was listing PR, not issue. 2020-11-28 16:30:32 +01:00
Matthias Koefferlein c78c9abbde Updated changelogs 2020-11-27 18:38:41 +01:00
Matthias Köfferlein 46712e8866 Fixed #646 (crash on delete of library) (#685)
* Fixed a compiler warning

* Fixed #646 (crash on PCell Library "delete")

The issue was mainly caused by a "cleanup" call on
the library. Cleanup is supposed to remove excess
top level PCell variants. For libraries this is not
possible, as the library does not know which variants
are used and which are not.

In addition, some hardening against segfaults in
case of defect layouts has been applied.
2020-11-27 18:37:16 +01:00
Matthias Koefferlein fff7f8a589 include version.sh in MANIFEST.in 2020-11-27 18:36:28 +01:00
Kazunari Sekigawa 65d030a97d
Update of the build system for macOS for 0.26.9 (#686)
* * Updated the build system for Mac
* Catalina env. uses Python 3.8 in MacPorts, Homebrew, and Anaconda3.

* Use Ruby 2.7 in MacPorts.

* Test build for macOS "Big Sur" (11.0) on Intel Mac "Catalina" (10.15.7).

* Updated the build system for macOS, including the future support for Big Sur (11.0)
2020-11-26 23:00:12 +01:00