2023-07-14 Kjell Ahlstedt 2.77.0 2023-07-14 Kjell Ahlstedt Glib, Gio: Add new API from glib 2.77.0 * configure.ac: * meson.build: Require glib-2.0 >= 2.77.0. * gio/src/actionmap.hg: _IGNORE(g_action_map_remove_action_entries). * gio/src/resolver.hg: Add set/get/property_timeout(). * glib/glibmm/ustring.[cc|h]: Add ustring::truncate_middle(). 2023-07-14 Kjell Ahlstedt Glib, Gio: Regenerate docs.xml and .defs files using glib files from glib 2.77.0. 2023-07-11 Kjell Ahlstedt Remove AUTHORS and README.SUN; add info to README.md See gtkmm#140 2023-07-11 Kjell Ahlstedt Update glibmm.doap 2023-06-29 Kjell Ahlstedt README.md: Generate a link to README.win32.md 2023-06-27 Chun-wei Fan README.win32: Convert to MarkDown Convert the README.win32 file into MarkDown format so that it is easier on the eye for formatting, and convert it to UNIX line endings. Also update the info that is in there to reflect the current situation on Visual Studio better. 2023-06-19 Daniel Boles Gio::File: Fix various spelling errors in .hg docs 2023-06-14 Kjell Ahlstedt tools/enum.pl, tools/defs_gen/enumextract.py: Accept XXX = YYY + 1 Accept "+" in GTK_ALIGN_BASELINE = GTK_ALIGN_CENTER + 1, 2023-06-01 Jeremy Bicha tests: Test for /etc/passwd instead of /etc/fstab /etc/fstab is not guaranteed to exist on modern Linux distros 2023-05-24 Kjell Ahlstedt Glib: Add DBusHandle and Variant Fixes #113 2023-05-24 Kjell Ahlstedt Autotools build: Don't include config.h in ustring.cc Include GLIBMM_SIZEOF_WHAR_T in glibmmconfig.h, as in a Meson build. 2023-05-23 Kjell Ahlstedt Glib::Variant: Provide Variant whenever possible If all of the types short, int, long, long long have size 2, 4 or 8 bytes, provide Variant specializations for all of them and for the corresponding unsigned types. Fixes #111 2023-05-21 Kjell Ahlstedt Glib::Variant docs: Small fixes create_variant(): Add a missing ::create. VariantBase::get_dynamic(): Recommend Variant::get() when possible. See #109 and #110 2023-05-20 Kjell Ahlstedt Glib::VariantContainerBase: Add a const version of get_child() and deprecate the non-const version. Both get_child() versions return a non-const VariantBase, usually with the same GVariant as *this, just with an added reference. It's reasonable to have a const version, because GVariant is immutable. Fixes #112 2023-05-20 Kjell Ahlstedt Add Glib::VariantBase::get_dynamic() and use it in tests/glibmm_variant/main.cc. Fixes #110 2023-05-18 Kjell Ahlstedt Add Glib::create_variant() and use it in tests/glibmm_variant/main.cc. Fixes #109 2023-05-18 Kjell Ahlstedt Doxyfile.in: Remove obsolete entries and add a comment in tools/m4/class_shared.m4. 2023-04-26 Kjell Ahlstedt tools/defs_gen/h2def.py: Recognize Graphene type names A typical type name is not GraphenePoint, but graphene_point_t. 2023-04-26 Kjell Ahlstedt giomm.pc.in, glibmm.pc.in: Update htmlrefpub 2023-04-17 Kjell Ahlstedt Add Gio::Subprocess, SubprocessLauncher and examples/subprocess Fixes #106 2023-04-09 Kjell Ahlstedt gmmproc: Generate callback functions with C linkage * tools/m4/signal.m4: Add an optional parameter to _SIGNAL_PH. * tools/m4/vfunc.m4: Add an optional parameter to _VFUNC_PH. * tools/pm/Output.pm: output_wrap_vfunc_h(): Add $objCDefsFunc->args_names_only() in call to _VFUNC_PH. output_wrap_default_signal_handler_h(): Add $objCDefsFunc->args_names_only() in call to _SIGNAL_PH. Part of issue #1 2023-04-03 Kjell Ahlstedt Glib:NodeTree: Add GLIBMM_API on new callback functions 2023-04-02 Kjell Ahlstedt Glib: NodeTree etc.: Use callback functions with C linkage * glib/glibmm/class.cc: Use glibmm_custom_[get|set]_property_callback(). * glib/glibmm/object.[cc|h]: Add set_data_with_c_callback(). Don't call g_object_set_qdata_full() with a function with C++ linkage, if GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS is defined. * glib/glibmm/property.[cc|h]: Declare some local functions extern "C". Add glibmm_custom_[get|set]_property_callback(). * glib/src/nodetree.[ccg|hg]: Add glibmm_NodeTree_c_callback_[traverse|foreach]() and struct NodeTreeCallback[Traverse|Foreach]Data. Part of issue #1 2023-03-31 Kjell Ahlstedt Glib: value_custom: Use callback functions with C linkage * glib/glibmm/value_custom.[cc|h]: Add custom_boxed_type_cpp_register(). * tests/glibmm_value/main.cc: Add test of copying custom Value. Part of issue #1 2023-03-31 Kjell Ahlstedt Add Gio::giomm_SignalProxy_async_callback() with C linkage and use it instead of SignalProxy_async_callback(). Part of issue #1 2023-03-31 Kjell Ahlstedt Glib: Use callback functions with C linkage * gio/src/cancellable.ccg: Add TODO comment. * glib/glibmm/class.cc: Call custom_class_base_finalize_function() and custom_class_init_function() via local functions with C linkage. * glib/glibmm/extraclassinit.h: Point out in the class documentation that the class init and instance init functions shall have C linkage. * glib/glibmm/main.[cc|h]: Call prepare_vfunc(), check_vfunc() and dispatch_vfunc() via local functions with C linkage. * glib/glibmm/objectbase.cc: Call destroy_notify_callback() via a local function with C linkage. * glib/glibmm/propertyproxy_base.cc: Call PropertyProxyConnectionNode:: callback() and destroy_notify_handler() via local functions with C linkage. * glib/glibmm/signalproxy.cc: Call SignalProxyNormal::slot0_void_callback() and SignalProxyConnectionNode::destroy_notify_handler() via local functions with C linkage. * glib/src/binding.ccg: Add extern "C". * glib/src/bytearray.ccg: Add a TODO comment. * glib/src/markup.ccg: Call functions in the vfunc table via local functions with C linkage. * glib/src/optioncontext.ccg: Add extern "C". * glib/src/optiongroup.ccg: Call post_parse_callback() and option_arg_callback() via local functions with C linkage. Part of issue #1 2023-03-27 Kjell Ahlstedt Gio: Use callback functions with C linkage * gio/giomm/socketsource.cc: Add extern "C". * gio/src/application.[ccg|hg]: Call Application_Class::open_callback() via a local function with C linkage. * gio/src/asyncinitable.[ccg|hg]: Call AsyncInitable_Class::init_async_vfunc_callback() and init_finish_vfunc_callback() via local functions with C linkage. * gio/src/dbusobjectmanagerclient.ccg: Use a local function with C linkage instead of Glib::destroy_notify_delete. * gio/src/file.ccg: Add extern "C". * gio/src/liststore.ccg: Add a TODO comment. * gio/src/memoryinputstream.ccg: Add extern "C". * gio/src/settings.ccg: Add extern "C". * gio/src/socketcontrolmessage.[ccg|hg]: Call SocketControlMessage_Class::deserialize_async_vfunc_callback() via a local function with C linkage. Code that mixes up C linkage and C++ linkage has undefined behavior. Most compilers make no difference between C and C++ linkage, so it has not been an issue so far. Part of issue #1