summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Remove Glib::WeakRefrefptr_as_sharedptr_v4Murray Cumming2017-04-057-673/+10
| | | | | | | | | | | 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.
* Use std::dynamic_pointer_cast<>().Murray Cumming2017-04-057-12/+12
| | | | Instead of Glib::RefPtr<>::cast_dynamic().
* glibmm_weakref: fix get()Marcin Kolny2017-04-051-1/+1
|
* glibmm_weakref: Don't try to use moved-from RefPtrs.Murray Cumming2017-04-051-15/+6
|
* RefPtr: Make this an alias for shared_ptr<> instead.Murray Cumming2017-04-056-485/+36
| | | | | | | | 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.
* Add and use make_refptr_for_instance().Murray Cumming2017-04-0527-55/+62
|
* IOChannel: Avoid creating a RefPtr to this.Murray Cumming2017-04-053-4/+21
| | | | | | | 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
* Socket: Avoid creating a RefPtr to this.Murray Cumming2017-04-053-4/+34
| | | | | | | 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
* C++11: Variant: Replace more throw(std::bad_cast) with noexcept(false).Murray Cumming2017-04-041-2/+2
| | | | | | This is necessary for C++17 which completely removes dynamic exception specifications. See https://bugzilla.redhat.com/show_bug.cgi?id=1438766
* Object: Use g_object_new_with_properties().Murray Cumming2017-04-042-27/+41
| | | | | | | 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.
* C++11: Variant: Replace throw(std::bad_cast) with noexcept(false).Murray Cumming2017-04-042-2/+2
| | | | | | This is necessary for C++17 which completely removes dynamic exception specifications. See https://bugzilla.redhat.com/show_bug.cgi?id=1438766
* NEWS for 2.53.1Murray Cumming2017-03-301-0/+31
| | | | I forgot to update this before tagging the release.
* Glib::OptionGroup: Don't allow copy or move2.53.1Kjell Ahlstedt2017-03-232-22/+7
| | | | | | The GOptionGroup contains a pointer to the Glib::OptionGroup wrapper. That pointer can't be changed. Copying (adding a ref) or moving a GOptionGroup to a second Glib::OptionGroup would be problematic.
* Change the ABI to glibmm-2.54Murray Cumming2017-03-225-15/+15
| | | | | | | So we can use the 2.51/52 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.
* Add some #include directivesKjell Ahlstedt2017-03-229-0/+12
| | | | | Each header file shall include all header files that it depends on. Checked with tools/test_scripts/testheaders.sh
* tools/test_scripts/testheaders.sh: Don't request c++11Kjell Ahlstedt2017-03-221-2/+5
| | | | | Glibmm requires c++14 now, and that's the default c++ version in the latest gcc versions.
* Visual Studio builds: Update glibmm projectChun-wei Fan2017-03-223-29/+0
| | | | Some sources and headers have been removed lately...
* Really remove containers.ccKjell Ahlstedt2017-03-211-31/+0
| | | | | Should have been done by commit 8c37e116a6a3a862b7574fa607cf69b3b6267dfe, I assume.
* Glib::OptionGroup: Modify on_[pre|post]_parse(), on_error()Kjell Ahlstedt2017-03-213-21/+28
| | | | | | | Remove the OptionGroup& parameter in on_pre_parse(), on_post_parse() and on_error(). It's unnecessary. It's always identical to *this. Add a const Error& parameter to on_error(). It's an input parameter with information about an error that has occurred in OptionContext::parse().
* Glib::OptionGroup: Take advantage of GOptionGroup's refcountKjell Ahlstedt2017-03-203-21/+27
| | | | | | | GOptionGroup is refcounted. Glib::OptionGroup::has_ownership is unnecessary. Replace gobj_give_ownership() by gobj_copy(). Glib::OptionGroup is not made refcounted, for reasons explained in a comment in optiongroup.hg.
* Remove unused containers.[h||cc].Murray Cumming2017-03-203-363/+0
|
* Remove unused helperlist.hMurray Cumming2017-03-203-154/+0
|
* Remove Sequence and sequence().Murray Cumming2017-03-201-37/+0
| | | | | We don't use them in glibmm and gtkmm and I have never heard of anybody ever using them.
* gmmproc: _WRAP_METHOD(): Use of auto for the retval return variable.Murray Cumming2017-03-201-4/+4
|
* Replace remaining uses of Glib::ListHandle<> with std::vector.Murray Cumming2017-03-2012-40/+27
| | | | | | Using Glib::ListHandler<>::list_to_array() and Glib::ListHandler<>::list_to_vector() instead, and only in the implementation instead of in the API.
* Gio::Resolver: Use std::vector instead of Glib::ListHandle<>.Murray Cumming2017-03-206-858/+25
| | | | | | Using Glib::ListHandler<>::list_to_array() and Glib::ListHandler<>::list_to_vector() instead, and only in the implementation instead of in the API.
* Glib::IOChannel, StreamIOChannel: Remove deprecated partsKjell Ahlstedt2017-03-196-603/+3
| | | | | | | | | * glib/glibmm.h: Remove streamiochannel.h. * glib/glibmm/filelist.am: Remove streamiochannel.[cc|h]. * glib/glibmm/streamiochannel.[cc|h]: Removed files. * glib/src/iochannel.[ccg|hg]: Remove the default constructor and the deprecated virtual functions. In .ccg, remove the local GlibmmIOChannel class. It's useless without the virtual functions, as is the default ctor.
* Replace remaining uses of Glib::ArrayHandle<> with std::vector.Murray Cumming2017-03-1719-972/+24
| | | | | | Using Glib::ArrayHandler<>::vector_to_array() and Glib::ArrayHandler<>::array_to_vector() instead, and only in the implementatoin instead of in the API.
* Glib::Shell: Use vector instead of Glib::ArrayHandle<>.Murray Cumming2017-03-172-4/+3
| | | | | | Using Glib::ArrayHandler<>::vector_to_array() and Glib::ArrayHandler<>::array_to_vector() instead, and only in the implementatoin instead of in the API.
* Glib::MiscUtils: Use std::vector instead of Glib::ArrayHandle<>.Murray Cumming2017-03-172-10/+9
| | | | | | Using Glib::ArrayHandler<>::vector_to_array() and Glib::ArrayHandler<>::array_to_vector() instead, and only in the implementatoin instead of in the API.
* Glib::Keyfile: Use std::vector instead of Glib::ArrayHandle<>.Murray Cumming2017-03-172-43/+41
| | | | | | Using Glib::ArrayHandler<>::vector_to_array() and Glib::ArrayHandler<>::array_to_vector() instead, and only in the implementatoin instead of in the API.
* Glib::Spawn: Use vector instead of ArrayHandle<std::string>.Murray Cumming2017-03-172-26/+25
| | | | | | Using Glib::ArrayHandler<>::vector_to_array() and Glib::ArrayHandler<>::array_to_vector() instead, and only in the implementatoin instead of in the API.
* Remove unused Glib::SArrayMurray Cumming2017-03-173-65/+0
|
* Use std::vector<> instead of Glib::StringArrayHandle.Murray Cumming2017-03-1718-46/+39
| | | | | | Using Glib::ArrayHandler<>::vector_to_array() and Glib::ArrayHandler<>::array_to_vector() instead, and only in the implementatoin instead of in the API.
* Visual Studio builds: Fix glibmm projectChun-wei Fan2017-03-153-2/+7
| | | | | | There was a non-generated source that needs to be built as well, which was missed in the update to the projects. Also fix a typo in the "install" project
* Added ustring::make_valid() which fixes non-UTF8 strings.Krzysztof Piecuch2017-03-154-1/+73
| | | | | | | | | | | make_valid replaces all non-UTF8 characters with replacement character (U+FFFD). Allows manipulating with ustring after you find out by ustring::validate() that it's not an UTF-8 string and you need to rescue it somehow. This wraps g_utf8_make_valid(). Bug #780075
* README.win32: Update build infoChun-wei Fan2017-03-151-58/+58
| | | | | Let people know that libsigc++-3.x is required, and for Visual Studio builds, Visual Studio 2017 is required.
* Visual Studio builds: Require Visual Studio 2017Chun-wei Fan2017-03-1447-135/+102
| | | | | | | | | | Visual Studio 2017 is required to support the C++-14 features that glibmm-2.52 will require, so update the projects to 2017. Make the projects look for libsigc++-3.x as well. Also make sure that the glibmm and giomm projects are up-to-date, and drop the threading examples projects as these examples have been dropped from the tree, and ensure the headers "installed" are up-to-date.
* 2.51.52.51.5Murray Cumming2017-03-132-1/+17
|
* Gio::Application::get_default(): Add refreturnKjell Ahlstedt2017-03-131-1/+1
| | | | Bug 779936
* Remove Glib::unconst()Kjell Ahlstedt2017-03-131-11/+0
| | | | | It's not used by glibmm or gtkmm. It's unnecessary. Use const_cast<>() directly instead.
* tests/glibmm_variant: Add test of Variant<std::tuple>Kjell Ahlstedt2017-03-061-1/+65
| | | | Bug 777791
* Glib::Variant: Add template specialization for std::tupleAlexander Rössler2017-03-061-0/+186
| | | | Bug 777791
* Add Gio::PropertyActionKjell Ahlstedt2017-02-264-0/+154
| | | | | | | * gio/giomm.h: Add propertyaction.h * gio/src/filelist.am: Add propertyaction.hg * gio/src/propertyaction.[ccg|hg]: New files. Required in the "Building Applications" chapter in the gtkmm tutorial.
* 2.51.22.51.2Murray Cumming2017-02-232-1/+21
|
* Revert "Class: A use of range-based for."Murray Cumming2017-02-231-3/+3
| | | | | | | Because the original code starts at 1, not 0, so this was not equivalent. This reverts commit b0a3e10d17f21254c15781bb7ff57736a9bea569.
* Class: A use of range-based for.Murray Cumming2017-02-231-3/+3
|
* Object construction: Add custom class init and instance init functionsKjell Ahlstedt2017-02-159-36/+269
| | | | | | | Make it possible for named custom types to register additions to the class init function and to register an instance init function. An extra class init function is useful in Gtk::WidgetCustomDraw and Gtk::WidgetCustomSnapshot. Bug 775348
* ActionMap—Reorder add_action_with_parameter’s argsDaniel Boles2017-02-142-3/+3
| | | | | | This matches e.g. simpleaction.hg and is what I originally intended. https://bugzilla.gnome.org/show_bug.cgi?id=774444
* SimpleAction—doc—Erase wrong line & duplicate wordDaniel Boles2017-02-141-3/+1
| | | | | | In case anyone is as easily confused as me… https://bugzilla.gnome.org/show_bug.cgi?id=778575