2018-02-21 Murray Cumming 2.55.2 2018-02-15 Kjell Ahlstedt Gio::DataInputStream: Remove read_until*() g_data_input_stream_read_until(), _read_until_async() and _read_until_finish() have been deprecated. 2018-01-25 Kjell Ahlstedt Glib::TimeoutSource: Use monotonic time consistently * glib/glibmm/main.[cc|h]: Change type of TimeoutSource::expiration_ from Glib::TimeVal to gint64. Use Source::get_time() consistently. Bug 792524 2018-01-15 Daniel Boles Variant: Slightly elaborate Variant docs Point out get_n_children() for checking nullable status, and copy the doc for Variant to Variant< Variant >. https://bugzilla.gnome.org/show_bug.cgi?id=778219 2018-01-12 Kjell Ahlstedt Gio::TlsClientConnection: Remove get/set/property_use_ssl3() The corresponding glib functions and property have been deprecated. 2017-12-15 Kjell Ahlstedt docextract_to_xml.py: Add --exclude-file option * tools/defs_gen/docextract.py: * tools/defs_gen/docextract_to_xml.py: Add -x or --exclude-file option. Useful in gtkmm when generating gtk_docs_xml. Remove the -d and -o options, which have been accepted, but have done nothing. 2017-12-13 Kjell Ahlstedt Gio::InetSocketAddress, ProxyAddress: No guint16 in _WRAP_PROPERTY() * gio/src/inetsocketaddress.hg: * gio/src/proxyaddress.hg: Don't use guint16 or guint32 in _WRAP_PROPERTY(). There are no Glib::Value<> specializations for those types. Use guint which is a typedef of unsigned int. 2017-12-13 Kjell Ahlstedt Fix some TODO comments * gio/src/actionmap.ccg: Use the Glib::VariantBase::cast_dynamic<>() syntax for calling the static member function. * gio/src/emblemedicon.hg: Add a const version of get_emblems(). * gio/src/networkmonitor.hg: Add class documentation. * gio/src/tlsclientconnection.hg: * gio/src/tlsfiledatabase.hg: * gio/src/tlsserverconnection.hg: Remove "TODO:" from some comments where there's really nothing to do. * glib/src/miscutils.ccg: get_system_data_dirs(), get_system_config_dirs(): Use Glib::ArrayHandler::array_to_vector(). * glib/src/optioncontext.hg: Make it explicit that OptionContext is not copyable. * glib/src/varianttype.hg: Rename _get_string_length() to get_string_length(). The leading underscore looks like a mistake. Remove the comment "Use something instead of gsize?" gsize is used in many methods in glibmm and gtkmm. 2017-12-11 Kjell Ahlstedt Glib::Module: Remove obsolete _IGNORE macros 2017-12-11 Kjell Ahlstedt Gio::AppInfo: Update the name of the AppLaunchContext parameters 2017-12-11 Kjell Ahlstedt Glib, Gio: Regenerate docs.xml and .defs files * glib/src/glib_docs_override.xml: Add some elements. * tools/extra_defs_gen/generate_defs_gio.cc: Add an initial call to get_defs(G_TYPE_APPLICATION) to make sure the first call to get_defs() requests info on a GObject, not a GInterface. 2017-12-11 Kjell Ahlstedt gmmproc: Warn if parameter lists are not compatible * tools/pm/DocsParser.pm: append_parameter_docs(): Warn if the lengths of the parameter lists in the docs.xml file, the methods.defs file and the _WRAP macro are not compatible. Don't assume that the last parameter is always a GError** output parameter just because it's called "error". Without this fix a too long parameter list in the docs.xml file caused very cryptic error messages, a too short list usually went undetected, but the generated documentation was incomplete. 2017-11-20 Kjell Ahlstedt Glib::VariantBase::cast_dynamic(): Remove noexcept(false) noexcept(false) has the same meaning as no noexcept specification, but Doxygen adds "noexcept" instead of "noexcept(false)" in the detailed description of the method, which is confusing. Bug 789329 2017-11-17 Kjell Ahlstedt Glib::Source: Remove get_current_time() from main.h get_current_time() is a deprecated function that was removed from main.cc by commit 45cc8f8f8cb093a9e8aa8747af93c57941e1b32a 2017-11-14 Kjell Ahlstedt tests/glibmm_variant: Test operator==() and operator!=() Bug 789330 2017-11-14 Kjell Ahlstedt Glib::VariantBase: Add operator==() and operator!=() operator==() is equivalent to VariantBase::equal(). Bug 789330 2017-10-23 Daniel Boles Variant: Fix typo: unclosed monospace tag 2017-10-12 Kjell Ahlstedt gmmproc, _WRAP_METHOD_DOCS_ONLY: Optionally suppress @return section Add an optional 'voidreturn' parameter that can be specified if the wrapped C function returns a value, but the corresponding C++ method returns void. Bug 787978 2017-10-10 Kjell Ahlstedt Glib::ObjectBase: Don't mention GtkObject in comments Don't mention GtkObject or gtk_object_destroy() in comments. They were removed from gtk+ in gtk+3. 2017-10-07 Kjell Ahlstedt Gio::Credentials, et al.: Add exception specs to errthrow 2017-09-29 Kjell Ahlstedt Gio::Action: Add exception specs to errthrow 2017-09-29 Kjell Ahlstedt Glib::KeyFile, OptionContext, Regex: Add exception specs to errthrow 2017-09-29 Kjell Ahlstedt gmmproc: _WRAP_METHOD: Accept optional list of exceptions in errthrow In _WRAP_METHOD[_DOCS_ONLY], the errthrow parameter can now contain an optional list of exceptions with default value Glib::Error. Corresponding @throws Doxygen commands are included in the documentation, if the documentation does not contain other @throws commands (e.g. from *_docs_override.xml). Bug 787979 2017-09-27 Kjell Ahlstedt Gio::Application::custom_class_init(): Update a comment The private custom_class_init() method is still needed, but the reason is no longer that the deprecated g_type_init() must be called. 2017-09-24 Kjell Ahlstedt Gio::Settings: set_int() and friends shall return bool g_settings_set_int(), g_settings_set_int64() etc. return a gboolean that shows if the operation has successed. Let Gio::Settings::set_int() etc. return a bool. 2017-09-24 Kjell Ahlstedt Gio::DataInputStream: Fix the documentation of read_line_utf8() Hand-code the documentation of read_line_utf8() and read_line_finish_utf8(). Use Glib::convert_return_gchar_ptr_to_stdstring() to set the output parameter. It handles the case when the char* is NULL. Minor fixes in the documentation of several other methods. 2017-09-24 Kjell Ahlstedt gmmproc: Suppress the @return section if return type is void If the wrapped C function returns a value, but the corresponding C++ method returns void, _WRAP_METHOD() suppresses the @return section in the documentation. Bug 787978 2017-09-18 Kjell Ahlstedt Glib::Variant: Hide namespace Glib::detail from Doxygen Glib::detail contains internal details, used by Variant. 2017-09-17 Kjell Ahlstedt gmmproc: Convert all property documentation to C++ Bug 787698 2017-09-12 Kjell Ahlstedt Gio::ActionGroup, Settings: Add detail_name to some _WRAP_SIGNAL()s * gio/src/actiongroup.hg: signal_action_added(), signal_action_removed(), signal_action_enabled_changed() and signal_action_state_changed() accept an 'action_name' parameter. * gio/src/settings.hg: signal_writable_changed() accepts a 'key' parameter. 2017-09-12 Kjell Ahlstedt Regenerate gio_signals.defs and gio_signals.defs.patch 2017-09-12 Kjell Ahlstedt generate_extra_defs.cc: Write signal flags to .defs files Bug 785895 2017-09-12 Kjell Ahlstedt gmmproc: Write signal flags to generated documentation Bug 785895 2017-09-09 Kjell Ahlstedt Gio::Application: Fix property_resource_base_path()'s type The property_resource_base_path()'s type shall be std::string, like the type of set/get_resource_base_path(). 2017-09-07 Kjell Ahlstedt gmmproc: Warn for unmatched deprecations in signals and properties Warn if a signal or a property is deprecated in the _WRAP_* macro, but not in the .defs file. (Warnings if a signal or a property is deprecated in the .defs file, but not in the _WRAP_* macro has been added previously.) 2017-09-05 Daniel Boles ustring: Avoid warning due to type confusion error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits] if (index >= 0 && index < ilist.size()) digit_value() - N is an int, but ilist.size() is an std::size_t. There’s rarely a nice way to handle such situations, but here we have an OK one: As ilist.size() is static_assert()ed in compose() to be in range of int, we can safely convert to int for use as the bound. For clarity, convert to a new int, rather than comparing to static_cast(ilist.size()). Using an int is clearer than e.g. relying on std::size_t underflowing to its max if digit_value() returns < 0 and hence not being < ilist.size(). https://bugzilla.gnome.org/show_bug.cgi?id=784211 2017-09-05 Kjell Ahlstedt Glib::IOCondition: Add an IO_ prefix to the enumerator names IN and OUT can be preprocessor macros. IO_ is added to the enumerator names. E.g. Glib::IOCondition::IN is replaced by Glib::IOCondition::IO_IN. These enumerator names will be the same as before we used enum class. Bug 786717 2017-09-03 Daniel Boles ustring: Replace 8×format() with 1 variadic template as per the previous commit for Glib::ustring. Now, users can pass format() as many arguments as their compiler or stack will allow, rather than being limited to a maximum of 8. https://bugzilla.gnome.org/show_bug.cgi?id=784211 2017-09-03 Daniel Boles ustring: Replace 9×compose() with 1 variadic template No more gratuitous repetition, hooray for modern C++! https://bugzilla.gnome.org/show_bug.cgi?id=784211 2017-09-03 Daniel Boles ustring: Use std::initializer_list instead of pointer + size Acrobatics are needed so that the main compose function does not have to be templated on the number of strings due to the bloat that would cause. Since C++11, instead of a pointer to an array & its size, we can pass an std::initializer_list, which pretty much exists for this purpose, as it uses compiler magic to abstract a variable sized array behind iterators. The only drawback is that initializer_list does not have an operator[], but its elements are guaranteed to be allocated in the order defined, so we can use (*(begin() + index)) – a bit ugly, but we only need it once! https://bugzilla.gnome.org/show_bug.cgi?id=784211 2017-09-03 Daniel Boles ustring: #include unconditionally It may not be needed for std::ptrdiff_t, as that is only used conditionally, but we use std::size_t either way in some Stringify specialisations, and while that is almost certain to be pulled in from or some other standard header, we might as well be explicit. https://bugzilla.gnome.org/show_bug.cgi?id=784211 2017-09-03 Daniel Boles ustring: Remove unused template arguments https://bugzilla.gnome.org/show_bug.cgi?id=784211 2017-09-03 Kjell Ahlstedt Regenerate glib_signals.defs and gio_signals.defs and add some substitute_enumerator_name elements to glib_docs_override.xml and gio_docs_override.xml. 2017-09-03 Kjell Ahlstedt generate_extra_defs.cc: Write default values of properties to .defs files Bug 785895 2017-09-03 Kjell Ahlstedt gmmproc: Write default values of properties to generated documentation Bug 785895 2017-09-01 Kjell Ahlstedt Glib::VariantIter: Fix typos in copyright notice 2017-08-30 Kjell Ahlstedt Update the Free Software Foundation address in copyright notices Bug 786824