-
Vasily Galkin authored
This is a bit of breaking change: After this commit the apps relying of win32 dbus autolaunching, need to install gdbus.exe alongside with libgio-2.0-0.dll. A new command for gdbus tool is used for running server: gdbus.exe _win32_run_session_bus To implement it gdbus.exe uses the same exported function g_win32_run_session_bus that earlier was used by rundll. So (private) ABI was not changed. It runs the bus syncronously, exiting after inactivity timeout - all exactly like it was runed earlier with the help of rundll32. While private exported function may have _some_ version compatibility issues between gdbus.exe and libgio-2.0-0.dll compiling dbus server registration logic directly into gdbus.exe can lead to _more hidden and more complex_ compatibility issues since the names and behaviour of syncronization objects used to publish server address would be required compatible between gdbus.exe and libgio-2.0-0.dll. So using "private" exported function to call looks like more safe behaviour. gdbus.exe binary was selected for this task since it has corresponding name and at least for msys2 is shippied in same package with libgio-2.0-0.dll turn_off_the_starting_cursor function is also kept as is, however it is not obvious if it is still needed (by now I failed reproducing original issue). Explicit g_warnings added to help with possible problematic cases for absent or incompatible gdbus.exe Mainloop is created after successful daemon creation Before this change the function leaked mainloop on daemon creation fail
8c7670f0