Inkscape 1.3 command line process hangs while extension (tkinter) GUI open
Summary:
When an extension which implements its own GUI (ie. Tkinter) is currently open, command-line calls to Inkscape hang until the extension GUI is eventually closed. This occurs regardless whether the process is spawned by the extension itself, or not.
Tested on Windows 11 (version 10.0.22621), and Inkscape 1.3 (0e150ed6, 2023-07-21) When tested on Inkscape 1.2, everything works as expected.
Steps to reproduce:
- Install the following example extension: foo.inx foo.py
- Open Inkscape, and launch the example extension (Called "Debug Test")
- A small window with a button will be opened. The button on click will create a simple svg file in the same directory as the foo.py, and then will attempt to call inkscape in a subprocess to convert the svg file to a png file (also in the same directory).
- Click the button
What happened?
The window hangs, until eventually it is reported as not responding and can be closed. On closing, the PNG file is finally created.
What should have happened?
The PNG file should have been created almost immediately, and the window should not hang. In Inkscape 1.2 this works correctly.
Additionally, running the same command to convert a svg to png in the command line will also hang if an extension with GUI is currently open in Inkscape. Running the command when no extension open works normally.
Version info
Inkscape 1.3 (0e150ed6c4, 2023-07-21)
GLib version: 2.76.4
GTK version: 3.24.38
glibmm version: 2.66.6
gtkmm version: 3.24.7
libxml2 version: 2.11.4
libxslt version: 1.1.38
Cairo version: 1.17.7
Pango version: 1.50.14
HarfBuzz version: 8.0.1
OS version: Windows 11 22H2