diff options
author | Kjell Ahlstedt <kjell.ahlstedt@bredband.net> | 2016-11-24 19:13:55 +0100 |
---|---|---|
committer | Kjell Ahlstedt <kjell.ahlstedt@bredband.net> | 2016-11-24 19:13:55 +0100 |
commit | 3911557cb62ed055f16ece0a7a58cbbabe35ef6b (patch) | |
tree | d3028e4d646bc184c35372e840996b5a2222efb0 /glib/glibmm/class.cc | |
parent | 722f9c1cf7998baf33d4f9d7110f6ad6c4f1858c (diff) | |
download | glibmm-3911557cb62ed055f16ece0a7a58cbbabe35ef6b.tar.gz |
Glib::ObjectBase: Replace extra_object_base_data map by instance data
* 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.
Diffstat (limited to 'glib/glibmm/class.cc')
-rw-r--r-- | glib/glibmm/class.cc | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/glib/glibmm/class.cc b/glib/glibmm/class.cc index 75b7d131..2f76aba8 100644 --- a/glib/glibmm/class.cc +++ b/glib/glibmm/class.cc @@ -85,12 +85,6 @@ Class::register_derived_type(GType base_type, GTypeModule* module) } GType -Class::clone_custom_type(const char* custom_type_name) const -{ - return clone_custom_type(custom_type_name, interface_class_vector_type()); -} - -GType Class::clone_custom_type( const char* custom_type_name, const interface_class_vector_type& interface_classes) const { |