2017-08-25 Murray Cumming 2.55.1 2017-08-25 Murray Cumming Change the ABI to glibmm-2.54 So we can use the 2.53/54 version numbers for more stable releases. We don't need to release a stable ABI-parallel glibmm until we need to release gtkmm 4.0, and that won't happen until GTK+ 4.0.0 happens, and we don't know when that might be. We did this once before: https://git.gnome.org/browse/glibmm/commit/?id=dee483b29bdaaabc587f3f8b6bff05663e7dccdc 2017-08-25 Murray Cumming Build: Tiny wihtespace fix to really generate posix-only files. This typo was introduced in this recent commit: https://git.gnome.org/browse/glibmm/commit/?id=05f9faf2476904f6b9210ca9935d4a081cc13421 and caused, for intance, unixdflist.h to not be generated, leading to this build error: ../giomm/dbusmessage.h:31:31: fatal error: giomm/unixfdlist.h: No such file or directory 2017-08-16 Kjell Ahlstedt Glib::Variant: Improved support for D-Bus object paths and signatures * glib/glibmm/filelist.am: Add variantdbusstring.h and variantdbusstring.cc. * glib/glibmm/variantdbusstring.[cc|h]: New files. String classes meant only for Variants with D-Bus object paths or D-Bus signatures. * glib/src/variant.[ccg|hg]: Add specializations for Variant, Variant and Variant>. * glib/src/varianttype.[ccg|hg]: Add VARIANT_TYPE_OBJECT_PATH_ARRAY. * tests/glibmm_variant/main.cc: Add test_object_path(). Make it possible to create a composite Variant containing variant type o (D-Bus object path) or g (D-Bus signature). Bug 785700 2017-08-15 Kjell Ahlstedt Gio: Exclude DesktopAppInfo from wrap_init.cc on MacOS Modify the conditional inclusion of desktopappinfo.h in giomm.h and wrap_init.cc. It shall not be included when running under MacOS. This should have been fixed by commit dd671f29ff9a005776ebd9e7cf20fdc5e44c14b8. Bug 781947 2017-08-15 Kjell Ahlstedt gio/src/filelist.am: Always include all .hg files in giomm_files_hg Commit c88fa83e0304f91d9aef320abd65d45c4fb6b963 fixed giomm_files_hg, but in the wrong way. giomm_files_hg shall always include all .hg files, regardless of which ones are used on the present platform. 2017-08-01 Marcin Kolny Object: build fix Value_Pointer class takes only one template argument 2017-08-01 Kjell Ahlstedt gmmproc: Accept curly braces in default values in _WRAP macros In C++11 default values of function arguments can contain curly braces, such as const Glib::RefPtr& x = {}. Bug 783216 comment 13 2017-07-30 Daniel Boles miscutils: Update docs of get_*_name() from GLib plus some minor tweaks that don't quite seem worth changing upstream. This adds some useful extra context for get_(prg|user|real)name(). 2017-07-25 Kjell Ahlstedt Gio: Derive all interfaces directly from Glib::Interface * gio/src/dbusactiongroup.hg: Implement ActionGroup. * gio/src/fileicon.hg: Implement Icon. * gio/src/loadableicon.[ccg|hg]: * gio/src/networkmonitor.hg: * gio/src/remoteactiongroup.hg: Derive directly from Glib::Interface. * gio/src/pollableinputstream.hg: * gio/src/pollableoutputstream.hg: Fix a comment. A subclass of GInterface can't be derived from another subclass of GInterface. Correspondingly, an interface in glibmm shall be derived directly from Glib::Interface, and not from a subclass of Glib::Interface. Bug 776537 2017-07-25 Kjell Ahlstedt gmmproc: Don't accept unpaired double quotes _WRAP macros have accepted unpaired quotes, such as _WRAP_PROPERTY("text_column, int), but has therefore not been able to accept unpaired parentheses in quoted strings, such as deprecated "Because 1) Blah, 2) Blah". Change that to accepting almost anything in quoted strings, but dying with an error code on unpaired quotes or unpaired parentheses outside quotes. 2017-07-25 Kjell Ahlstedt gmmproc: Remove obsolete TODO comments 2017-07-04 Kjell Ahlstedt Gio::Seekable: More implementations, fix base class of DataOutputStream * gio/src/bufferedinputstream.hg: * gio/src/bufferedoutputstream.hg: Implement Seekable. * gio/src/dataoutputstream.hg: Implement Seekable. Change the base class from BufferedOutputStream to FilterOutputStream. GSeekable was implemented in the underlying glib classes with glib bug 673034. The base class of Gio::DataOutputStream has problably been wrong from the beginning. GDataInputStream has base class GBufferedInputStream, but GDataOutputStream has base class GFilterOutputStream. 2017-07-03 Kjell Ahlstedt tests: Activate the glibmm_object test Probably overlooked in commit 696685eeaa639ae5e41a9eaa761250368af492db 2017-07-03 Kjell Ahlstedt tests/Makefile.am: Remove the last remnants of glibmm_weakref to avoid some warnings when Makefile is generated from Makefile.am. 2017-06-26 Kjell Ahlstedt Gio::TlsDatabase: Fix create_certificate_handle_vfunc() This vfunc shall delete the returned character array after it has been copied to a Glib::ustring, or else it leaks memory. It shall also convert an empty Glib::ustring to a null gchar*. Bug 783360 2017-06-26 Kjell Ahlstedt convert_glib.m4: Remove _CONVERSIONs that can cause memory leaks Converting from a non-const gchar* to Glib::ustring or std::string without calling g_free() has caused memory leaks in several signals and vfuncs. Remove these conversions from convert_glib.m4. Correct conversions can be added in .hg files where they are needed, and where it's known what is correct. Bug 783360 2017-06-23 Kjell Ahlstedt Gio::Pollable[Input|Output]Stream: More implementations * gio/src/memoryinputstream.hg: Implement PollableInputStream. * gio/src/memoryoutputstream.hg: Implement PollableOutputStream. * gio/src/unixinputstream.hg: Implement PollableInputStream and FileDescriptorBased. * gio/src/unixoutputstream.hg: Implement PollableOutputStream and FileDescriptorBased. 2017-06-23 Kjell Ahlstedt Add the Gio::FileDescriptorBased interface GUnixInputStream and GUnixOutputStream implement GFileDescriptorBased. 2017-06-20 Kjell Ahlstedt Glib::VariantIter: Let the constructor take a VariantContainerBase& 2017-06-20 Kjell Ahlstedt Glib::Regex: Fix a member name The member data name shall be take_ownership_ (with an underscore suffix) and the function argument name take_ownership. 2017-06-18 Kjell Ahlstedt Gio::PollableInputStream, PollableOutputStream: Fix a comment Make it clear that Pollable[In|Out]putStream can't be derived from [In|Out]putStream even though GPollable[In|Out]putStream requires G[In|Out]putStream. Bug 776537 2017-06-18 Kjell Ahlstedt Gio::CharsetConverter: Implement the Gio::Initable interface and call Initable::init() from CharsetConverter's constructor. Bug 776537 2017-06-16 Kjell Ahlstedt Gio::Application: Remove local class ExtraApplicationData ExtraApplicationData is not necessary, if g_application_add_main_option() is used for options without a callback slot, and some data is added to the local class OptionArgCallbackData. 2017-06-15 Kjell Ahlstedt Gio::Application::OptionType: Make it an enum class 2017-06-15 Kjell Ahlstedt Glib::Value_Flags<>: static_cast to correct type Cast to the correct type in the call to ValueBase_Flags::set_flags(). It takes an unsigned int. 2017-06-13 Kjell Ahlstedt Use _WRAP_ENUM for Gio::DBus::Message::ByteOrder 2017-06-13 Kjell Ahlstedt Regenerate gio_enums.defs 2017-06-13 Kjell Ahlstedt gmmproc: Fix _WRAP_ENUM for enumerators with apostrophes * tools/enum.pl: Handle enumerator values like 'B', 1u << 2, (gint)(1u << 31). Suppress repeated long warnings. * tools/pm/Output.pm: Handle enumerator values like 'B'. (1u << 2 and (gint)(1u << 31) require no fix.) 2017-06-12 Kjell Ahlstedt Glib::OptionEntry: Use _WRAP_ENUM for Glib::OptionEntry::Flags It's changed from a plain enum to a scoped enum. 2017-06-12 Kjell Ahlstedt Glib::NodeTree: Use _WRAP_ENUM for Glib::NodeTree::TraverseType 2017-06-12 Kjell Ahlstedt Fix documentation of enum Glib::IOCondition * glib/src/iochannel.hg: The code snippet needs a fix when IOCondition is a scoped enum (enum class). Doxygen needs "@enum IOCondition" before the extra documentation. 2017-06-12 Kjell Ahlstedt Remove redundant documentation of enum Glib::FileError::Code * glib/src/fileutils.hg: Remove documentation of FileError::Code that duplicates documentation generated by _WRAP_GERROR. 2017-06-11 Kjell Ahlstedt gmmproc, _WRAP_ENUM: Add optional CONV_TO_INT parameter CONV_TO_INT "Convertible to int": Generate a plain enum (not an enum class) within a class. Such an enum is scoped like an enum class, and it can be implicitly converted to int like a plain enum. Bug 86864 2017-05-29 Daniel Boles Variant: Use own get_n_children() instead of C API This looks much less ugly.