| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Don't warn when a Dispatcher is deleted while messages are pending.
Fixes #108
|
| |
|
|
|
|
|
| |
A group (but not a 'using' alias) gets its own html file,
which can be referred to from outside glibmm.
|
|
|
|
| |
Fixes #101
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
See issue gtkmm#119
|
|
|
|
|
| |
This reverts commit 7b811a0be824675f31a422d40a75bbb5d10e32ad.
It broke ABI. See #98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
Avoid warnings from the clang++ compiler.
It's deprecated to implicitly declare a copy constructor, if there
is a user-defined copy assignment operator.
|
|
|
|
|
|
| |
The default value will be changed in future Meson releases.
Don't use deprecated python3.path() and execute(..., gui_app: ...).
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Deleted methods shall not be decorated with GLIBMM_API.
Fixes #92
|
|
|
|
| |
Fixes #89
|
|
|
|
| |
Fixes #87
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
It's actually not necessary here, and it will cause issues with the previous
commit
|
|
|
|
|
|
|
| |
...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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
glib and sigc++ can be subprojects of glibmm.
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
See https://github.com/libsigcplusplus/libsigcplusplus/pull/65
|
|
|
|
|
| |
The value_basictypes.h and variant_basictypes.h files, which are generated
from .m4 files, were not included in the input to Doxygen.
|
|
|
|
| |
Use std::map or std::unordered_map instead.
|
|
|
|
|
| |
This is done for completeness' sake, as we are doing for the private headers that we
generate.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Fixes #69
|
|
|
|
|
| |
...with GLIBMM_API. This is needed for building gtkmm, with Visual
Studio.
|
|
|
|
|
|
|
|
|
|
|
| |
Visual Studio 2015 or later has thread_local, so make sure that it is
enabled.
Also update for Visual Studio 2017+ as the compiler does allow static
members to be initialized inline to std::string::npos
(GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS), but use a work
around for pre-Visual Studio 2015 so that we do not get a linker error
as GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS is not supported.
|
|
|
|
|
|
|
|
|
|
|
| |
Clean up the build files a bit and update the glibmmconfig.h.[in|meson] so that
we use __declspec(dllexport) when GLIBMM_BUILD is defined (i.e. during the
build of glibmm) on Visual Studio.
Also, for the meson builds, disable warnings 4251 and 4275 as they all relate
to building DLLs regarding symbol export, which is harmless as we know clearly
that we are indeed building DLLs in our case, and we have already set
GLIBMM_API appropriately
|
|
|
|
|
| |
This prepares the code to use __declspec(dllexport) to export all symbols, so
that we can eventually bid farewell to gendf.exe
|
|
|
|
|
| |
wrap_init.cc shall be rebuilt when generate_wrap_init.pl has been rebuilt.
Generated .h and .cc files shall be rebuilt when gmmproc has been rebuilt.
|
|
|
|
|
|
|
|
| |
Let builds from release tarballs and GIT checkouts build the glibmm-int
static library, and link the final .so/.dll from the objects that form
glibmm-int static .lib. By doing so we can build glibmm with the import
libraries for Visual Studio builds with gendef, as well as linking in
the version resource for all Windows builds.
|
|
|
|
|
|
| |
glibmm can be built with either Autotools or Meson.
See MR !27
|
|
|
|
|
|
|
|
| |
* examples/network/resolver.cc: Don't include config.h. It's not used.
* glib/glibmm/ustring.cc: Check if GLIBMM_SIZEOF_WCHAR_T is defined.
* tools/generate_wrap_init.pl.in:
* tools/gmmproc.in: Change '\@' to '\ @'. Meson's configure_file()
removes a backslash immediately before an at-sign.
|
|
|
|
|
|
| |
Glib::Error::what() returns const char* (was Glib::ustring). It overrides
std::exception::what() that returns const char* and is noexcept.
Fixes #23
|
|
|
|
|
|
|
|
| |
and with the comparison operators, operator==(), etc.
Add the glibmm_ustring_compare test case.
https://gitlab.gnome.org/GNOME/glibmm/issues/64
https://gitlab.gnome.org/GNOME/glibmm/issues/65
|
|
|
|
|
|
| |
StdStringView and UStringView force users to be explicit (by using c_str())
when using a std::string where a Glib::ustring is recommended or vice versa.
See issue #64
|
| |
|
|
|
|
|
| |
To meet requirements for the passed type, compile
type check for the passed type was added.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This disables a warning from g++ 9.2 (abbreviated here):
In member function ‘bool Glib::ustring::validate(Glib::ustring::iterator&)’:
error: implicitly-declared ..... is deprecated [-Werror=deprecated-copy]
1206 | first_invalid = iterator(string_.begin() + (valid_end - pdata));
note: because ..... has user-provided .....
972 | inline ustring_Iterator<T>::ustring_Iterator(
const ustring_Iterator<std::string::iterator>& other)
|
|
|
|
|
|
|
|
| |
A call to path_get_dirname(StdStringView filename) with a Glib::ustring
fails if StdStringView does not have a constructor that takes a
const Glib::ustring&. StdStringView and UStringView are now aliases of
StringView, whose names show which data type is preferred.
See issue #34
|
|
|
|
|
|
| |
and use them in build_filename() and other functions in miscutils.hg.
Fixes #34
|