W32: g_get_system_data_dirs() works differently for C++ applications
@ruslanizhb
Submitted by LRN Link to original bug (#777501)
Description
tml committed f0a0fe7a back in 2005 and made _g_win32_get_system_data_dirs() an inline that exists only in C, not in C++.
Thus for C++ programs it will return, eventually, directories relative to the currently-running executable, while for C programs it will return directories relative to the caller module (whether it's an executable or a library).
Normally it's just weird (and probably resulted in a number of unexpected issues for gtkmm and other C++ programs). With the patch from bug 766358 applied, this actually crashes, because g_get_system_data_dirs() (which normally shouldn't be called outside of glib itself) returns NULL.