[Webkit-unassigned] [Bug 234748] [GTK] (.NET Bindings) - Initializing WebKitGTK seems to cause new .Net Processes to never exit again

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Dec 30 09:30:45 PST 2021


https://bugs.webkit.org/show_bug.cgi?id=234748

--- Comment #2 from Vincent Vollers <v.m.vollers at gmail.com> ---
(In reply to Michael Catanzaro from comment #1)
> Where does your code iterate the default main context?

If I understand your question correctly... (note that I don't talk to GLib/GTK/Webkit directly, this is all handled in the various libraries.)

in case of Photino, that is 
https://github.com/tryphotino/photino.Native/blob/ea3fac7e6377f965065fb14b5c6e66dd6573b58f/Photino.Native/Photino.Linux.cpp#L421

(with the initialization here
https://github.com/tryphotino/photino.Native/blob/ea3fac7e6377f965065fb14b5c6e66dd6573b58f/Photino.Native/Photino.Linux.cpp#L614 )



in case of SpiderEye:
gtk_main is referenced here
https://github.com/JBildstein/SpiderEye/blob/3830876e5aa5efcaa5e54828a0b95c8824c0df07/Source/SpiderEye.Linux/Native/Gtk.cs#L242

and called here 
https://github.com/JBildstein/SpiderEye/blob/3830876e5aa5efcaa5e54828a0b95c8824c0df07/Source/SpiderEye.Linux/GtkApplication.cs#L25

which is called here
https://github.com/JBildstein/SpiderEye/blob/3830876e5aa5efcaa5e54828a0b95c8824c0df07/Source/SpiderEye.Core/Application.cs#L87

which is called here
https://github.com/JBildstein/SpiderEye/blob/3830876e5aa5efcaa5e54828a0b95c8824c0df07/Source/SpiderEye.Core/Application.cs#L114

which is the main loop, since that is called here in the example
https://github.com/JBildstein/SpiderEye/blob/3830876e5aa5efcaa5e54828a0b95c8824c0df07/Examples/Simple/App.Core/ProgramBase.cs#L14

(so, "ExampleApp" calls "Application.Run(Window window, string startUrl)" which calls "Application.Run()" which calls "GtkApplication.Run" which calls "Gtk.Main()" which is a binding to "gtk_main" in "libgtk-3.so")



and finally, in the case of GtkSharp:
this is a bit hard to say, since it uses a code generator to create the bindings (defined here for webkitgtk: https://github.com/GtkSharp/GtkSharp/tree/develop/Source/Libs/WebkitGtkSharp ).

The application enters the main loop as defined here
https://github.com/GtkSharp/GtkSharp/blob/a23d44fb82975711cfcaa400cd7f3e4988d15bbf/Source/Libs/GioSharp/Application.cs#L35

which runs some kind of dynamic library loader as defined here 
https://github.com/GtkSharp/GtkSharp/blob/1fb5527458ae37620dbcae90a97204da41b2ef7a/Source/Libs/Shared/GLibrary.cs


So, the above 3 binding libraries are all quite different... Photino seems to be the most straightforward to test against. (The code to reproduce the behavior against any library you can find in https://github.com/tryphotino/photino.NET/issues/74 )

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20211230/b1c6b418/attachment.htm>


More information about the webkit-unassigned mailing list