summaryrefslogtreecommitdiff
path: root/glib
Commit message (Collapse)AuthorAgeFilesLines
* Meson build: Don't copy files with configure_file()Kjell Ahlstedt2023-01-041-3/+5
| | | | | | It's deprecated from Meson 0.64. The replacement, fs.copyfile(), is not useful here. It only copies from the source directory to the build directory.
* Glib::Binding::unbind(): Fix documentationKjell Ahlstedt2022-12-271-3/+2
| | | | Should have been done in commit dc92d02f4d50851a1af59e5fbe2a753dcfd2e9df.
* Glib::Module: Deprecate build_path()Kjell Ahlstedt2022-12-212-14/+30
| | | | and update the constructor's documentation.
* Add Gio::BytesIconKjell Ahlstedt2022-12-022-0/+31
| | | | | | | | | | | | | * gio/giomm.h: * gio/giomm/meson.build: * gio/src/filelist.am: Add BytesIcon. * glib/src/bytes.[ccg|hg]: Add Glib::Value specialization. Required by _WRAP_PROPERTY in bytesicon.hg. * tools/extra_defs_gen/generate_defs_gio.cc: Add G_TYPE_BYTES_ICON. * gio/src/gio_signals.defs: Add BytesIcon property. * gio/src/bytesicon.[ccg|hg]: New files. Fixes #107
* Glib::RefPtr: Put the documentation in a Doxygen groupKjell Ahlstedt2022-10-101-0/+11
| | | | | A group (but not a 'using' alias) gets its own html file, which can be referred to from outside glibmm.
* glib/glibmm.h: Update the link to the gtkmm tutorialKjell Ahlstedt2022-09-191-1/+1
|
* Glib, Gio: Regenerate docs.xml filesKjell Ahlstedt2022-09-191-11/+33
| | | | using gtk files from glib 2.74.0.
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2022-08-225-53/+678
| | | | using gtk files from glib 2.73.3.
* Add Glib::ustring::release()Kjell Ahlstedt2022-08-211-0/+11
| | | | Fixes #101
* gmmproc: Improved handling of final typesKjell Ahlstedt2022-06-082-0/+16
| | | | | | | | | | | Some GObject-derived classes shall not be derived from. * glib/glibmm/class.cc: * glib/glibmm/interface.cc: Don't derive or add interfaces to a class if G_TYPE_IS_FINAL(gtype) is true. * tools/m4/class_shared.m4: Fix gtype_ when _DO_NOT_DERIVE_GTYPE is used. Add _ABI_AS_WITH_DERIVED_GTYPE, making it possible to add _DO_NOT_DERIVE_GTYPE without breaking ABI.
* Glib::RefPtr: Improve the documentationKjell Ahlstedt2022-06-061-0/+15
| | | | See issue gtkmm#119
* Revert "ustring_Iterator: Declare the copy constructor =default"Kjell Ahlstedt2022-05-041-8/+7
| | | | | This reverts commit 7b811a0be824675f31a422d40a75bbb5d10e32ad. It broke ABI. See #98
* Glib, Gio: Add some methods for glibmm 2.72Kjell Ahlstedt2022-04-073-2/+22
| | | | | | | | | | | | | * configure.ac: * meson.build: Require glib-2.0 >= 2.71.2. * gio/src/dbusproxy.hg: signal_signal() accepts a signal name. * gio/src/file.[ccg|hg]: Add move_async() and move_finish(). * gio/src/socketclient.hg: Deprecate set/get/property_tls_validation_flags(). * gio/src/tlscertificate.hg: Add properties private_key, private_key_pem, pkcs11_uri, private_key_pkcs11_uri. * gio/src/tlsclientconnection.hg: Deprecate set/get/property_validation_flags(). * glib/glibmm/main.[cc|h]: Add create(MainContextFlags flags). * glib/src/enums.hg: Add enum Glib::MainContextFlags.
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2022-04-074-192/+1419
| | | | | using gtk files from glib 2.72.0. And update gio/src/gio_signals.defs.patch.
* ustring_Iterator: Declare the copy constructor =defaultKjell Ahlstedt2022-02-151-7/+8
| | | | | | | Avoid warnings from the clang++ compiler. It's deprecated to implicitly declare a copy constructor, if there is a user-defined copy assignment operator.
* meson.build: Specify 'check' option in run_command()Kjell Ahlstedt2022-02-141-4/+6
| | | | | | The default value will be changed in future Meson releases. Don't use deprecated python3.path() and execute(..., gui_app: ...).
* Glib::Binding: Fix return type from dup_source() and dup_target()Kjell Ahlstedt2021-10-051-5/+5
| | | | Change from Glib::RefPtr<Glib::Object> to Glib::RefPtr<Glib::ObjectBase>.
* Glib, Gio: Add some methods for glibmm 2.70Kjell Ahlstedt2021-10-056-120/+58
| | | | | | | | | | | | | | | | | | * configure.ac: * meson.build: Require glib-2.0 >= 2.69.1. * glib/src/binding.[ccg|hg]: Add dup_source(), dup_target(), Deprecate get_source(), get_target(). * glib/src/spawn.[ccg|hg]: Change parameter name, exit_status to wait_status. * glib/src/timezone.[ccg|hg]: Add operator bool(), create_identifier(). Deprecate create(). * gio/src/fileinfo.hg: Add get/set_access_date(), get/set_creation_date(). * gio/src/notification.hg: Add set_category(). * gio/src/tlscertificate.hg: Add property/get_not_valid_before(), property/get_not_valid_after(), property/get_subject_name(), property/get_issuer_name(). * gio/src/tlsconnection.hg: Add enum Gio::TlsProtocolVersion, property/get_protocol_version(), property/get_ciphersuite_name(). * tools/m4/convert_gio.m4: Add conversion for enum TlsProtocolVersion.
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2021-10-058-741/+2864
| | | | | using gtk files from glib 2.70.0. And update gio_docs_override.xml and glib_extra_objects.defs.
* Glib::wrap_register_init(): Don't use g_quark_from_static_string()Kjell Ahlstedt2021-10-041-2/+2
| | | | | | | Replace it by g_quark_from_string(). g_quark_from_static_string() shall not be used, if glibmm (but not glib) is loaded and unloaded several times. Fixes #96
* Declare some copy assignment operators deleted (=delete)Kjell Ahlstedt2021-08-271-6/+7
| | | | | | | | Avoid warnings from the clang++ compiler. It's deprecated in C++ to implicitly declare a copy constructor, if there is a user-defined copy assignment operator. Instead of declaring copy assignment operators private without implementation, declare them deleted.
* Glib::ustring: Remove extraneous GLIBMM_APIKjell Ahlstedt2021-05-311-2/+2
| | | | | Deleted methods shall not be decorated with GLIBMM_API. Fixes #92
* Add Glib::Environ and tests/glibmm_environKjell Ahlstedt2021-05-235-0/+155
| | | | Fixes #89
* Glib::Timer: Add resume() and is_active()Kjell Ahlstedt2021-05-232-1/+29
| | | | Fixes #87
* Don't mark the Glib::Source class with GLIBMM_APIChun-wei Fan2021-05-071-64/+64
| | | | | | | Instead, mark the individual members with GLIBMM_API so that we avoid having the code tied to a particular STL and compiler version. Update the classes that derive from Glib::Source accordingly as well
* error.h Avoid exporting class deriving frm std::exceptionChun-wei Fan2021-05-071-19/+19
| | | | | | | | | This will avoid having the ABI tied to a particular STL and compiler version, and so will eliminate C4275 compiler warnings when building the code. Also update gerror.m4 so that it will generate code deriving from Glib::Error with the export macro markings with the member functions, so that things continue to build properly
* variantdbusstring.h: Don't mark classes with GLIBMM_APIChun-wei Fan2021-05-071-2/+2
| | | | | It's actually not necessary here, and it will cause issues with the previous commit
* ustring.h: Avoid exporting classes with std::string membersChun-wei Fan2021-05-071-165/+165
| | | | | | | ...and templates that inherit std::string. This will help us to also eliminate C4251 warnings from code that use the ustring class and related items, and avoid ABI compatibility issues when building code that link and run aginst glibmm on Visual Studio builds.
* Glib::PatternSpec: Ignore deprecation of g_pattern_match()Kjell Ahlstedt2021-05-051-0/+4
|
* Subprojects can use meson.add_dist_script() if meson.version() >= 0.58.0Kjell Ahlstedt2021-05-051-3/+2
| | | | | | | | | | | * meson.build: * docs/reference/meson.build: * gio/giomm/meson.build: * glib/glibmm/meson.build: Call add_dist_script() in a subproject, if meson.version() >= 0.58.0. * tools/build_scripts/handle-built-files.py: Use MESON_PROJECT_DIST_ROOT if it exists, else MESON_DIST_ROOT. It exists if meson.version() >= 0.58.0.
* Variant: Fix so it works with C++20Magne Oestlyngen2021-04-062-22/+22
| | | | | | | | | | | | | | | | | | | | C++20 changed some aspects of templates that broke variant.h on some compilers (GCC 11). Ref: https://wg21.cmeerw.net/cwg/issue2237 template<class T> struct A { A<T>(); // ok pre-C++20, now incorrect // A(); // correct for all versions }; This commit removes the "simple-template-id" from both the default constructor (no args) and the explicit constructor (has args), even though only the default constructor currently gives error on GCC 11. Since both versions are wrong according to the issue referred to above it is expected that GCC (and possibly other compilers) will be updated to fail on both cases in the future.
* Meson build: No implicit_include_directoriesKjell Ahlstedt2021-03-261-0/+2
| | | | | | | It shall not be possible to find a glibmm header file with #include <xxx.h> instead of #include <glibmm/xxx.h>. Not fully fixed until https://github.com/mesonbuild/meson/issues/8562 has been fixed.
* Meson build: Make it possible to use glibmm as a subprojectKjell Ahlstedt2021-03-121-4/+4
| | | | glib and sigc++ can be subprojects of glibmm.
* g[io|lib]mmconfig.h.*: Don't dllimport on MinGWChun-wei Fan2021-03-092-2/+6
| | | | | | | This will fix warnings when building items using glibmm and giomm with MinGW/GCC. Please see: https://gitlab.gnome.org/GNOME/gtkmm/-/issues/90
* Meson build: Use relative paths to untracked/Kjell Ahlstedt2021-02-241-3/+4
| | | | | | | The paths to the source code in untracked/ shall be relative to the meson.build file, when library files are built from a tarball. With absolute paths Meson may generate too long file names. See gtkmm!61
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2020-12-184-413/+2996
| | | | | | and update gio/src/gio_docs_override.xml. Regenerated while the glib-2-66 branch was checked out from glib.
* Glib::Binding, TimeZone: Ignore deprecation of some glib functionsKjell Ahlstedt2020-12-144-6/+107
| | | | | | | g_binding_get_source(), g_binding_get_target() and g_time_zone_new() are deprecated in glib 2.68. We can't use the replacement functions, which are new in glib 2.68. We want to build with -Dwarnings=fatal and run with both glib 2.68 and older versions of glib.
* Change the ABI to glibmm-2.68Kjell Ahlstedt2020-12-111-4/+4
| | | | | | | So we can use the 2.66 version numbers for stable releases in the glibmm-2.4 ABI series. We've done similar ABI name changes several times before.
* Glib::Binding: Avoid warning from gcc-10Kjell Ahlstedt2020-12-081-0/+9
| | | | | | | | | | | | g++-10 with optimization level -O1 or higher warns about possible use of an uninitialized variable when tests/glibmm_binding/main.cc is compiled. I don't understand why. There is no warning if the private method Glib::Binding::TransformProp:: operator()() is compiled without optimization. Add an attribute that turns off optimization for this method when it's compiled with with gcc-10 or higher. gcc-9 does not warn. gcc-10 does not warn in glibmm-2.4, where std::optional is not used.
* Gio::File docs: Fix names of thrown exceptionsKjell Ahlstedt2020-11-013-7/+1
| | | | and remove unnecessary TODO comments in several files.
* glib/glibmm.h: Describe how to use glibmm with mesonKjell Ahlstedt2020-10-121-3/+18
|
* Meson build: Fix versioning on macOSKjell Ahlstedt2020-09-301-1/+4
| | | | See https://github.com/libsigcplusplus/libsigcplusplus/pull/65
* Meson build: Add missing Glib::Value and Variant documentationKjell Ahlstedt2020-09-131-2/+2
| | | | | The value_basictypes.h and variant_basictypes.h files, which are generated from .m4 files, were not included in the input to Doxygen.
* Remove Glib::BalancedTreeKjell Ahlstedt2020-09-075-336/+0
| | | | Use std::map or std::unordered_map instead.
* glib/glibmm/private/*.h: Decorate the classes with GLIBMM_APIChun-wei Fan2020-08-282-2/+2
| | | | | This is done for completeness' sake, as we are doing for the private headers that we generate.
* Glib::IOChannel docs: Update names of some enum valuesKjell Ahlstedt2020-07-311-4/+4
|
* Meson/Visual Studio builds: Include toolset version by defaultChun-wei Fan2020-06-184-6/+7
| | | | | | | | | | | | | | | | | | This makes the built DLL and .lib's contain the toolset version if the build is carried out using Visual Studio 2017 or later, unless the 'msvc14x-parallel-installable' option is set to be false during configuration. The reasoning behind this change is that there are subtle problems when, for instance, one tries to link to a Visual Studio 2017-built glibmm when building gtkmm and libxml++ with Visual Studio 2019. This is unfortunate as Microsoft did try hard to make interoperating between binaries built with Visual Studio 2015, 2017 and 2019 as easy as possible in terms of ABI and API, but unfortunately this hits the corner cases where this compatibility does not work. As the name suggests, this attempts to make Visual Studio 2017 and 2019 builds share a single set of underlying C DLLs easier, while avoiding breakages caused by such subtle differences.
* glib/glibmm/ustring.h: Fix Visual Studio macro checkChun-wei Fan2020-06-151-1/+1
| | | | | | | Commit 8b8af81f accidentally changed the macro check from '_MSC_VER' to 'MSC_VER', fix that. It probably does not matter since Visual Studio 2017 is required, where 'GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS' is enabled, but fix that for consistency's sake.
* propertyproxy_base: Fix using notify w/o prop nameDaniel Boles2020-06-031-1/+10
| | | | | | | | | | GLib has now specified that if you want to connect to a signal without a detail argument, you omit the `::`. So, glibmm users previously connecting to `notify::` to listen for changes to all properties broke. Fix that by only passing `notify` i.e. no superfluous `::` in that case. Close https://gitlab.gnome.org/GNOME/glibmm/-/issues/74 Close https://gitlab.gnome.org/GNOME/glibmm/-/merge_requests/35
* ustring: Silence warning if MSC_VER is undefined/0Daniel Boles2020-06-021-1/+1
|