Le mardi 04 avril 2023 à 12:56 +0100, Richard Shann a écrit :
> I don't understand, I'm afraid. Denemo only makes calls to the g_spawn*  
> functions as documented. The function might_be_console_process() is  
> static - internal to glib - or rather to some executable that it calls,  
> apparently.
> 
> The name and path of the lilypond executable is typed into Denemo and  
> the g_spawn call is made - so the only difference is that it is calling  
> lilypond.exe below the 2.24.0 folder rather than the lilypond-  
> windows.exe below the 2.22.0 folder. I've just tested this out by  
> downloading 2.22.0 to the home directory and telling the same Denemo  
> executable to execute lilypond.exe and lilypond-windows.exe  
> alternately. With the former I get the terminal popping up and not with  
> the latter.


Yes, I understand that. What I'm saying is that as you can see from the GLib 
source code, whether g_spawn_sync opens a new console or not depends on the 
parent process, specifically, whether it detects the parent process as being a 
GUI or a console process. If Denemo were correctly detected by GLib as a GUI 
process, I would expect GLib to spawn the LilyPond process without an extra 
console. Therefore, I suppose that something in Denemo or GLib is this 
detection incorrect.

You could try copying `might_be_console_process` into your own code and seeing 
what result it yields on Windows and why.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to