2016-03-01 Murray Cumming 2.47.6 2016-02-29 Murray Cumming Regenerate docs.xml files. 2016-02-29 Murray Cumming Regenerate gio .defs. 2016-02-27 Murray Cumming manual refactor target: Error if clang-format is not available. 2016-02-27 Murray Cumming Rearrange some multiline comments. Putting the comment before the code, instead of to the right, because clang-format can not (and could not) know which comments are meant to be aligned. I prefer this anyway. 2016-02-26 Murray Cumming Run clang-format on the .ccg files. This seems to work. 2016-02-26 Murray Cumming Run clang-format on the include-all headers. 2016-02-26 Murray Cumming Re-run clang-format on some files. I need to make a subsequent commit to fix the now-unaligned trailing comments. 2016-02-26 Murray Cumming clang-format: unset AlignTrailingComments. Because it sometimes wrongly things that comments on two lines are related. This now wrongly unaligns some blocks of trailing comments, but I would rather just not have them. 2016-02-26 Murray Cumming Run clang-format on glib .cc files. 2016-02-26 Murray Cumming Run clang-format on glib .h files. 2016-02-26 Murray Cumming Run clang-format on gio .cc files. 2016-02-26 Murray Cumming Run clang-format on gio .h files. 2016-02-26 Murray Cumming clang-format: Disable SortIncludes. Because this can break builds. 2016-02-26 Murray Cumming Run clang-format on gendef.cc 2016-02-26 Murray Cumming Run clang-format on tools/ 2016-02-26 Murray Cumming Run clang-format on tests. 2016-02-26 Murray Cumming Run clang-format on the examples. 2016-02-26 Murray Cumming Run clang-format on the *_p.h files. 2016-02-26 Murray Cumming Makefile.am: Added a manual reformat target, to use clang-format. 2016-02-26 Murray Cumming Added a format file for clang-format. For automatic reformatting of the source code. 2016-02-25 Kjell Ahlstedt gmmproc: Fix errthrow in _WRAP_VFUNC * tools/m4/vfunc.m4: Propagate a Glib::Error exception to GError** error. Don't throw an exception in the callback function, called from C code. Bug #762437 2016-02-18 Kjell Ahlstedt Gio::SocketConnectable: Add to_string() 2016-02-18 Kjell Ahlstedt Gio::Icon: Add serialize(), deserialize() and documentation of create() 2016-02-11 Murray Cumming gmmproc: _MEMBER_GET: Remove extra spaces, indenting and trailing. By changing ) dnl to )dnl 2016-02-10 Murray Cumming Gio::FileInfo::list_attributes(): Make name_space optional. Because I noticed that this has just been documented as being allowed to be null: https://git.gnome.org/browse/glib/commit/?id=a4ed89bf75190631087596be22f9eb10dc6e53ef 2016-02-06 Murray Cumming Use MM_AX_CXX_COMPILE_STDCXX() instead of MM_AX_CXX_COMPILE_STDCXX_11(). This makes it easier to try C++14 sometimes and eventually really switch to it. 2016-02-05 Murray Cumming C++11: Use emplace_back() instead of push_back(). 2016-02-05 Murray Cumming C++11: Use initializer list instead of push_back() for initial single item. 2016-02-04 Kjell Ahlstedt DBus::Connection: Pass an empty bus name as nullptr * gio/src/dbusconnection.[hg|ccg]: Some string parameters in some C functions accept nullptr, others don't. call(), call_sync(): bus_name: Pass nullptr for an empty string. emit_signal(): Only destination_bus_name can be nullptr. Other string parameters: Pass c_str(). The bug in call() and call_sync() was noticed by Gerlof Fokkema on gtkmm-list. The bug in emit_signal() is an overreaction to bug 645072. All string parameters were changed to pass nullptr, but only destination_bus_name should have been changed. 2016-02-04 Kjell Ahlstedt gmmproc: Add NULL option to _WRAP_METHOD * tools/pm/Function.pm: * tools/pm/Output.pm: Accept {NULL} or {!NULL} after the name of a string parameter in _WRAP_METHOD. It specifies how to translate an empty string to a C string. {NULL}: nullptr, {!NULL}: pointer to an empty string. Both {NULL} and {!NULL} can be useful, because the default translation is different for mandatory and optional ({?}) parameters. 2016-02-01 Kjell Ahlstedt Add some connect() overloads that move the sigc::slot * glib/glibmm/dispatcher.[cc|h]: Add Dispatcher::connect(&&). * glib/glibmm/objectbase.[cc|h]: Add ObjectBase::connect_property_changed(&&) and ObjectBase::connect_property_changed_with_return(&&). * glib/glibmm/propertyproxy_base.[cc|h]: Add PropertyProxyConnectionNode(&&) ctor, PropertyProxyConnectionNode::connect_changed() and SignalProxyProperty::connect(&&). * glib/glibmm/signalproxy.[cc|h]: Add SignalProxyNormal::connect_impl_(&&), SignalProxy::connect(&&), SignalProxy::connect_notify(&&), SignalProxyDetailed::connect_impl_(&&), SignalProxyDetailedAnyType::connect(&&) and SignalProxyDetailedAnyType::connect_notify(&&). * glib/glibmm/signalproxy_connectionnode.[cc|h]: Add SignalProxyConnectionNode(&&) ctor 2016-01-26 Aurelien Jacobs Fix definition of VARIANT_TYPE_DICT_ENTRY to match header declaration Bug #761046 2016-01-25 Kjell Ahlstedt Glib::PropertyBase: Make custom properties more flexible * glib/glibmm/property.[h|cc]: Relax the requirements on Property<>. Now custom properties don't have to be direct data menbers of the containing type. Instead, all objects of a class must instantiate the same properties in the same order. This patch is an improved version of a patch supplied by Povilas Kanapickas . Bug #731484. 2016-01-21 Marcin Kolny Glib::SignalProxy: use variadic templates * .gitignore: signalproxy.h file is no more generated, so it has been removed from ignored list. * gio/src/application.{ccg|hg}: don't use old-style SignalProxy class. * glib/glibmm/filelist.am: add signalproxy.h file to distributed files list. * gio/glibmm/signalproxy.h: add implementation of SignalProxy and SignalProxyDetailedAnyType. * glib/src/filelist.am: * glib/src/signalproxy.h.m4: signalproxy.h is not generated, thus remove m4 file. * tools/m4/signal.m4: use new SignalProxy class instead of SignalProxy*. 2016-01-21 Kjell Ahlstedt Use Glib::c_str_or_nullptr() Use Glib::c_str_or_nullptr(s) instead of s.empty() ? nullptr : s.c_str(). 2016-01-21 Kjell Ahlstedt Add Glib::c_str_or_nullptr() * glib/glibmm/utility.h: Add Glib::c_str_or_nullptr(). Code such as "s.empty() ? nullptr : s.c_str()" can be replaced by Glib::c_str_or_nullptr(s) when C functions are called, where s is a std::string or a Glib::ustring. A very small part of a fix of bug #755245. 2016-01-20 Chun-wei Fan Threads example: Fix build on Visual Studio We need to include for unique_* on Visual Studio, and for Visual Studio 2013 builds, we need to ensure that glibmmconfig.h is included so that noexcept is supported. https://bugzilla.gnome.org/show_bug.cgi?id=760612 2016-01-20 Chun-wei Fan glibmmconfig.h.in: Fix Visual Studio 2013 builds The thread_local keyword is only supported natively on Visual Studio 2015, so we need to use the Microsoft-specific extension __declspec(thread) for supporting thread_local in Visual Studio 2013 builds. Also re-organize the Visual Studio 2013-specific parts a bit so that it is clearer to people. https://bugzilla.gnome.org/show_bug.cgi?id=760612 2016-01-18 Murray Cumming utility: Correct the deprecation ifndef. And correct the documentation. 2016-01-18 Aurelien Jacobs Glib::ustring fix gcc 6 warning in public header Avoid a warning when compiling with gcc 6 with -Wmisleading-indentation. Bug #760641. 2016-01-18 Murray Cumming fix the build I was editing the generated files. Silly me. 2016-01-18 Murray Cumming Regenerate .docs.xml files. 2016-01-18 Murray Cumming Regenerate .defs files. 2016-01-18 Murray Cumming Replace ScopedPtr with make_unique_ptr_gfree(). Using std::unique_ptr. ScopedPtr is now deprecated. Bug #760223 2016-01-14 Kjell Ahlstedt Glib::ustring: Add move operators Bug #760282 2016-01-11 Kjell Ahlstedt h2def.py: Accept parameter names beginning with const h2def.py misunderstood function declarations where the name of a parameter begins with const, e.g. ClutterBindConstraint *constraint. https://mail.gnome.org/archives/gtkmm-list/2016-January/msg00004.html 2016-01-07 Murray Cumming Put deprecation ifdefs around GLIBMM_INITIALIZE_STRUCT. It is already deprecated. 2015-12-24 Murray Cumming C++11: Replace virtual keyword with override keyword on destructors. This ensures that the base class is really virtual. 2015-12-24 Murray Cumming example: Remove unnecessary virtual keywords on destructors. 2015-12-24 Murray Cumming C++11: gmmproc: GObject/GInterface: Use override on destructor. Don't repeat the virtual declaration from Glib::ObjectBase's destructor. Instead use override to show that we expect the base destructor to be virtual.