Technical details: The original code loads GTK+ inside the Unity process. It causes the gtk_init function to hang in a deadlock (See the backtrace here). I separated the GTK+ related code to a new executable (I'm not sure about Unity's directory structure so I bundled the executable in the library) and run it in a separated process (pass input with argv and get output from pipe()-d stdout) when opening a dialog.
This PR fixes #43.
Technical details: The original code loads GTK+ inside the Unity process. It causes the
gtk_init
function to hang in a deadlock (See the backtrace here). I separated the GTK+ related code to a new executable (I'm not sure about Unity's directory structure so I bundled the executable in the library) and run it in a separated process (pass input withargv
and get output frompipe()
-dstdout
) when opening a dialog.