summaryrefslogtreecommitdiff
path: root/glib/glibmm/object.h
diff options
context:
space:
mode:
authorMurray Cumming <murrayc@murrayc.com>2004-03-13 15:20:19 +0000
committerMurray Cumming <murrayc@src.gnome.org>2004-03-13 15:20:19 +0000
commitff0ee882c28a0be099f66443e4126d898a4c9ce0 (patch)
tree4401400ee506833bc0c107edcf16d8470fde365b /glib/glibmm/object.h
parente7e645e82073587e87d2d5b0ed22ea508ae403d5 (diff)
downloadglibmm-ff0ee882c28a0be099f66443e4126d898a4c9ce0.tar.gz
Remove the parent get_type() call from the Class::init() function, because
2004-03-13 Murray Cumming <murrayc@murrayc.com> * tools/m4/class_shared.m4: Remove the parent get_type() call from the Class::init() function, because it is optimised away, and g++ 3.4 actually complains that it does nothing. * glib/glibmm/object.[h|cc]: Add a public ConstructParams copy constructor, needed by g++ 3.4. See comments in the code. * tests/glibmm_value/glibmm_value.cc: Instantiate instances of value types, to fix the g++ 3.4 build. I don't know what the code was meant to do before anyway.
Diffstat (limited to 'glib/glibmm/object.h')
-rw-r--r--glib/glibmm/object.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/glib/glibmm/object.h b/glib/glibmm/object.h
index a67b387e..d5027732 100644
--- a/glib/glibmm/object.h
+++ b/glib/glibmm/object.h
@@ -59,8 +59,9 @@ class GSigConnectionNode;
* The comments in object.cc and objectbase.cc should explain in detail
* how this works.
*/
-struct ConstructParams
+class ConstructParams
{
+public:
const Glib::Class& glibmm_class;
unsigned int n_parameters;
GParameter* parameters;
@@ -69,9 +70,13 @@ struct ConstructParams
ConstructParams(const Glib::Class& glibmm_class_, const char* first_property_name, ...);
~ConstructParams();
+ //This is only used by the C++ compiler (since g++ 3.4) to create temporary instances.
+ //Apparently the compiler will actually optimize away the use of this.
+ //See bug #132300.
+ ConstructParams(const ConstructParams& src);
+
private:
- // noncopyable
- ConstructParams(const ConstructParams&);
+ // noncopyable
ConstructParams& operator=(const ConstructParams&);
};