2017-04-26  Murray Cumming  <murrayc@murrayc.com>

	2.53.1.1

2017-04-26  Murray Cumming  <murrayc@murrayc.com>

	tests/Makefile.am: Fix a typo to fix the build.

2017-04-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::SignalProxy: Make a specialization for void signal handlers

	Make specializations of SignalProxy<> and SignalProxyDetailed<> for signal
	handlers that return void. The specializations have no connect_notify()
	method, and the 'after' parameter in the connect() method has a default
	value only in the specializations. Bug 126213

2017-04-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib::SignalProxy::connect(): Improve the documentation

	Mention that the 'after' parameter can be important. Bug 126213

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

	Gio::DBus::InterfaceSkeleton: Change InterfaceSkeletonFlags to InterfaceSkeleton::Flags.

2017-04-19  Murray Cumming  <murrayc@murrayc.com>

	Gio::DBus::Server: Change ServerFlags to Server::Flags.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	NodeTree: Move enums into class, and use C++11 enum classes.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Binding: Change BindingFlags to Binding::Flags.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Keyfile: Change KeyfileFlags to Keyfile::Flags.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Module: Change ModuleFlags to Module::Flags.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Checksum: Change ChecksumType to Checksum::Type.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Regex: Move enums inside class.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::Drive: Move enums into class.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::TlsDatabase: Move enums into class.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Resource: Move enums into class.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::UnixSocketAddress: Change UnixSocketAddressType to UnixSocketAddress::Type.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::Mount: Move enums into class.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::TlsPassword: Change TlsPasswordFlags to TlsPassword::Flags.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::IOStream: Change IOStreamSpliceFlags to IOStream::SpliceFlags.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::Settings: Change SettingsBindFlags to Settings::BindFlags.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::Resolver: Change ResolverRecordType to Resolver::RecordType.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::Socket: Move enums into class.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::File: Move some flags enums into the class.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::OutputStream: Move OutputStreamSpliceFlags to SpliceFlags.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::Credentials: Change CredentialsType to Credentials::Type.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	convert_gio.m4: Remove duplicate conversion.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::Notification: Change NotificationPriority to Priority.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::FileMonitor: Change FileMonitorEvent to FileMonitor::Event.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::FileAttributeInfo: Change FileAttributeInfoFlags to Flags.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::Emblem: Change EmblemOrigin to Emblem::Origin.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::Converter: Put enums inside class.

	Change ConverterFlags and ConverterResult to Converter::Flags and Covnerter::Result.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::AppInfo: Change AppInfoCreateFlags to CreateFlags

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	Gio::Application: Change ApplicationFlags to Application::Flags.

2017-04-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	gmmproc: New and improved _CONV_*_ENUM m4 macros

	* tools/m4/convert_base.m4: In _CONV_ENUM and _CONV_INCLASS_ENUM, add an
	optional argument, making it possible to define useful conversions
	when the C name of the enum is not the concatenation of C++ namespace +
	enum_name or namespace + class_name + enum_name.
	* tools/m4/convert_gio.m4: Add _CONV_GIO_ENUM, _CONV_GIO_DBUS_ENUM,
	_CONV_GIO_INCLASS_ENUM and _CONV_GIO_DBUS_INCLASS_ENUM.
	* tools/m4/convert_glib.m4: In _CONV_GLIB_ENUM and _CONV_GLIB_INCLASS_ENUM,
	add an optional argument like in convert_base.m4.

2017-04-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	RefPtr: Minor documentation fix

	Gdk::Pixmap does not exist in gtkmm3 or gtkmm4. Don't mention it.

2017-04-18  Murray Cumming  <murrayc@murrayc.com>

	RefPtr: Improve the reference docs now that this is a std::shared_ptr.

	This should be simplified even more when we eventually remove,
	or at least stop using, the RefPtr alias, using std::shared_ptr<>
	in our API.

2017-04-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Glib, Gio: Remove obsolete substitutions in _WRAP_ENUM

	Some substitution arguments in _WRAP_ENUM (s#old#new#) have become
	unnecessary now that _WRAP_ENUM generates code with enum class.

2017-04-15  Murray Cumming  <murrayc@murrayc.com>

	Value: Only use RefPtr specialization for types that have get_base_type().

	For instance, RefPtr to ObjectBase-derived types, or other types that
	try to have a similar API.

	Previously, this assumed that any Value<RefPtr<T>> was for a T that had
	a get_base_type() (wrapping an underlying glib/gtk C type).

2017-04-15  Murray Cumming  <murrayc@murrayc.com>

	Variant: operator bool(): Simplify to avoid clang++ warnings.

	The odd code here was necessary when this returned void*, before C++11.

2017-04-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Gio: Remove enum ErrorEnum

	* gio/src/enums.hg: GIOErrorEnum was wrapped twice, with _WRAP_ENUM in
	gio/src/enums.hg, and with _WRAP_GERROR in gio/src/error.hg. Remove the
	wrapping with _WRAP_ENUM. Uses of Gio::ErrorEnum, if any, can be replaced
	by Gio::Error::Code.

2017-04-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Fix make check when _WRAP_ENUM generates enum class

	Bug 86864

2017-04-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	Fix build when _WRAP_ENUM generates enum class

	Bug 86864

2017-04-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

	gmmproc, _WRAP_ENUM: Generate enum class; enums can be inside classes

	Two modifications of _WRAP_ENUM:
	1. It is expanded to an enum class instead of a plain enum. It means that
	it can't be implicitly converted to an int, and that enumerator names are
	local to the enum.

	2. It can be located in a class, with some restrictions.
	When located in a class, and a Value specialization shall be generated
	(NO_GTYPE is not specified) or it's a Flags type (i.e. bitwise operators
	shall be generated), then the following requirements must be met:
	2.1. _WRAP_ENUM must be located in the public part of the class.
	2.2. The class must contain a class macro (_CLASS_GENERIC, _CLASS_GOBJECT,
	_CLASS_GTKOBJECT, etc.) before _WRAP_ENUM.

	Two new elements can be included in docs_override.xml files:
	substitute_type_name and substitute_enumerator_name. They improve the
	translation of C names to C++ names in documentation. See examples in
	glibmm and in gtkmm.

	Bug 86864

2017-04-09  Murray Cumming  <murrayc@murrayc.com>

	value_custom: Replace a template parameter with C++11 type traits.

2017-04-09  Murray Cumming  <murrayc@murrayc.com>

	Value: Remove the CType alias.

	This should not be necessary. Anything that uses it could hopefully
	use auto instead.

	This avoids the problem of the Value<RefPtr> specialization assuming
	that the RefPtr holds a Glib::ObjectBase-derived typed.

2017-04-09  Murray Cumming  <murrayc@murrayc.com>

	tests: glibmm_value: Test RefPtr-to-ObjectBase.

2017-04-09  Murray Cumming  <murrayc@murrayc.com>

	tests: Split object_move and objectbase_move tests.

	This allows further reuse of the DerivedObject and DerivedObjectBase test classes.

2017-04-07  Murray Cumming  <murrayc@murrayc.com>

	tests: glibmm_value: Actually test set/get().

2017-04-07  Murray Cumming  <murrayc@murrayc.com>

	tests: glibmm_value: Actually call the test function.

2017-04-07  Murray Cumming  <murrayc@murrayc.com>

	tests: glibmm_value: Move code to main.cc

	Which was previously almost empty.

2017-04-07  Murray Cumming  <murrayc@murrayc.com>

	Remove Glib::WeakRef

	Now that RefPtr is really a std::shared_ptr<>, we should use
	std::weak_ref<> instead.

	Note that a std::weak_ptr<> tells you nothing about whether
	the underlying GObject is still alive, which Glib::RefPtr did.
	It just tells you whether our std::shared_ptr<> still holds
	a reference to it. That's why I removed one of the checks in
	tests/giomm_listmodel/main.cc.

2017-04-07  Murray Cumming  <murrayc@murrayc.com>

	Use std::dynamic_pointer_cast<>().

	Instead of Glib::RefPtr<>::cast_dynamic().

2017-04-07  Marcin Kolny  <marcin.kolny@gmail.com>

	glibmm_weakref: fix get()

2017-04-07  Murray Cumming  <murrayc@murrayc.com>

	glibmm_weakref: Don't try to use moved-from RefPtrs.

2017-04-07  Murray Cumming  <murrayc@murrayc.com>

	RefPtr: Make this an alias for shared_ptr<> instead.

	Specifying a Deleter in make_refptr_for_instance().
	And changing RefPtr::cast_dynamic<>() to std::dynamic_pointer_cast<>().

	The glibmm_refptr test then becomes rather silly, and should maybe
	just be removed.

2017-04-07  Chun-wei Fan  <fanchunwei@src.gnome.org>

	Visual Studio builds: Update ABI version

	We are now using 2.54 as the ABI version, so update the Visual Studio
	projects to do likewise.

2017-04-06  Murray Cumming  <murrayc@murrayc.com>

	Add and use make_refptr_for_instance().

	This will make it easier to change the underlying RefPtr type.

2017-04-06  Murray Cumming  <murrayc@murrayc.com>

	ConstructParams: Remove copy constructor.

	I doubt that this is really necessary with C++11.
	Please file a bug if this causes a real compilation problem.

2017-04-06  Murray Cumming  <murrayc@murrayc.com>

	C++11: ConstructParams: =delete the operator=, instead of making it private.

2017-04-05  Murray Cumming  <murrayc@murrayc.com>

	IOChannel: Avoid creating a RefPtr to this.

	By adding a private IOSource constructor (and create()), accessible
	via a friend declaration, that takes the raw GIOChannel.

	See https://bugzilla.gnome.org/show_bug.cgi?id=755037#c20

2017-04-05  Murray Cumming  <murrayc@murrayc.com>

	Socket: Avoid creating a RefPtr to this.

	By adding a private SocketSource constructor (and create()), accessible
	via a friend declaration, that takes the raw GSocket.

	See https://bugzilla.gnome.org/show_bug.cgi?id=755037#c20

2017-04-04  Murray Cumming  <murrayc@murrayc.com>

	C++11: Variant: Replace more throw(std::bad_cast) with noexcept(false).

	This is necessary for C++17 which completely removes dynamic
	exception specifications.
	See https://bugzilla.redhat.com/show_bug.cgi?id=1438766

2017-04-04  Murray Cumming  <murrayc@murrayc.com>

	Object: Use g_object_new_with_properties().

	Instead of (deprecated) g_object_newv() and (deprecated) GParameter.

	This seems to work. It is meant to be the simplest possible change.
	I would like to translate this code properly to C++ now that I've noticed it.

2017-04-04  Murray Cumming  <murrayc@murrayc.com>

	C++11: Variant: Replace throw(std::bad_cast) with noexcept(false).

	This is necessary for C++17 which completely removes dynamic
	exception specifications.
	See https://bugzilla.redhat.com/show_bug.cgi?id=1438766

2017-03-30  Murray Cumming  <murrayc@murrayc.com>

	NEWS for 2.53.1

	I forgot to update this before tagging the release.