| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* glib/glibmm/main.[cc|h]: Replace the std::map containing
ExtraSourceData with instance data in Source. The map was just a way
of avoiding an ABI break, but now we can break ABI. Bug 561885
|
|
|
|
|
| |
and add connect_impl_(bool notify, const sigc::slot_base& slot, bool after).
SignalProxyNormal then becomes more like SignalProxyDetailedBase.
|
|
|
|
|
|
| |
Rename SignalProxyDetailed to SignalProxyDetailedBase, and
SignalProxyDetailedAnyType to SignalProxyDetailed.
Remove SignalProxyDetailed# aliases (# = 0..6).
|
|
|
|
| |
and let connect_property_changed() return a sigc::connection.
|
|
|
|
|
|
|
| |
std::forward_list is ideally suited for storing pointers to the interfaces
of custom types. The list is often empty, never long. No need to use a pointer
to a container in order to save storage space (as I did in the previous
commit). An empty std::forward_list consists of nothing but a pointer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* glib/glibmm/class.[cc|h]: Remove the clone_custom_type() overload without
an interface_class_vector_type argument.
* glib/glibmm/interface.cc:
* glib/glibmm/object.cc:
* glib/glibmm/objectbase.[cc|h]: Replace the std::map containing
ExtraObjectBaseData with instance data in ObjectBase. The map was just a way
of avoiding an ABI break, but now we can break ABI.
The new data is a std::unique_ptr<Class::interface_class_vector_type> rather
than a Class::interface_class_vector_type. It's a vector which is used only
during a short period during object construction, and only for custom objects.
With a pointer to the vector, it need not be created for the majority of
objects, and if it is created, it can be deleted when it's no longer needed.
* gio/src/application.ccg:
* glib/glibmm/main.cc: Add #include <mutex> that should have been there before,
but now became necessary, when it was removed from objectbase.h.
|
|
|
|
|
|
|
|
| |
* glib/glibmm/objectbase.h: add convenient overload of get_property(),
which gives a property value as a return value, not as an output
parameter.
https://bugzilla.gnome.org/show_bug.cgi?id=771782
|
| |
|
| |
|
|
|
|
| |
Including using this in gmmproc.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This shows how having a sigc::notifiable base class is much nicer
than using these objects as void* as in libsigc++-2.0.
|
|
|
|
| |
As in std::string since C++11.
|
|
|
|
|
|
| |
Because libsigc++ 2.10 deprecates signal::slots() and libsigc++ 3.0
now has no signal<>::slots() method. Using a signal for the list of
slots seems rather non-obvious anyway.
|
|
|
|
| |
To make this code slightly clearer.
|
|
|
|
|
|
| |
As in shared_ptr<>, for instance.
See https://bugzilla.gnome.org/show_bug.cgi?id=626858#c4
|
|
|
|
|
|
|
|
| |
* glib/glibmm/property.h: More code within #ifndef DOXYGEN_SHOULD_SKIP_THIS.
* glib/src/bytearray.hg: Change parameter name index_ to index.
* tools/pm/DocsParser.pm: When the C parameter name does not coincide with
the C++ name, change to the C++ name in the documentation also when the C
name ends with an underscore.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* .gitignore: add paramflags generated files to ignore list.
* glib/glibmm.h: add paramflags header to include list.
* glib/glibmm/property.{cc|}h: add constructors allowing set nick,
blurb. Add getters for this values.
and flags of property.
* glib/glibmm/value.{cc|h}:
* glib/src/filelist.am: add paramflags to a build.
* glib/src/enums.{ccg|hg}: add GParamFlags enum wrapper.
* glib/glibmm/value_basictypes.{cc|h}.m4: add
overloaded create_param_spec() for setting additional property
parameters.
This patch fixes bug #755256
|
| |
|
|
|
|
| |
Bug #759791
|
|
|
|
|
|
| |
This fix is necessary for compilation of glibmm on OS X, as the clang
compiler that currently ships with XCode currently does not support this
keyword. Bug #759791
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
I need to make a subsequent commit to fix the now-unaligned
trailing comments.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
* 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 <povilas@radix.lt>. Bug #731484.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* .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*.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
And correct the documentation.
|
|
|
|
|
| |
Avoid a warning when compiling with gcc 6 with -Wmisleading-indentation.
Bug #760641.
|
|
|
|
|
| |
Using std::unique_ptr. ScopedPtr is now deprecated.
Bug #760223
|
|
|
|
| |
Bug #760282
|
|
|
|
| |
It is already deprecated.
|
|
|
|
| |
This ensures that the base class is really virtual.
|
|
|
|
|
| |
* glib/glibmm/ustring.h: Don't allow comparison of a ustring to an integer.
Bug #572978.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* examples/thread/threadpool.cc: If --disable-deprecated-api, just print a
message and exit.
* gio/src/<several>.hg: Add _CONFIGINCLUDE(giommconfig.h).
* gio/src/menuitem.ccg: Add a missing _DEPRECATE_IFDEF_START/_END pair.
* glib/glibmm/sarray.h:
* glib/glibmm/threadpool.[cc|h]: #include <glibmmconfig.h> before
ifndef GLIBMM_DISABLE_DEPRECATED.
* glib/src/filelist.am: Remove glibmm_files_deprecated_hg. List deprecated
files in glibmm_files_any_hg.
The config file must be included before #ifndef xxx_DISABLE_DEPRECATED both
in the .h file and in the .cc file, or else deprecated API is not properly
disabled by --disable-deprecated-api.
|
|
|
|
| |
Bug #758894
|
|
|
|
|
|
|
|
|
| |
* glib/glibmm/main.h: Include 'namespace Threads' declarations only if
GLIBMM_DISABLE_DEPRECATED is not defined.
* glib/glibmm/main.cc: Inlude glibmm/threads.h only if
GLIBMM_DISABLE_DEPRECATED is not defined.
Use G_GNUC_[BEGIN|END]_IGNORE_DEPRECATIONS instead of undefining
G_DISABLE_DEPRECATED.
|
|
|
|
|
| |
As suggested by Kjell here:
https://bugzilla.gnome.org/show_bug.cgi?id=757674#c17
|
|
|
|
| |
See https://bugzilla.gnome.org/show_bug.cgi?id=757674#c15
|
|
|
|
|
|
|
| |
* glib/blibmm/main.cc:
* gio/src/application.ccg: Glib::Threads::Mutex::Lock::release() should have
been replaced by std::unique_lock::unlock(). std::unique_lock::release() does
not unlock the mutex. Bug #757674.
|
| |
|
| |
|
|
|
|
|
|
| |
Because we should encourage the use of 2 different thread APIs at
the same time. Maybe std::async() does what a thread pool would do?
If so, we should improve the deprecation documentation.
|