summaryrefslogtreecommitdiff
path: root/glib/glibmm/object.cc
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.cc
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.cc')
-rw-r--r--glib/glibmm/object.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/glib/glibmm/object.cc b/glib/glibmm/object.cc
index 7155942d..bc008362 100644
--- a/glib/glibmm/object.cc
+++ b/glib/glibmm/object.cc
@@ -129,6 +129,16 @@ ConstructParams::ConstructParams(const Glib::Class& glibmm_class_,
va_end(var_args);
}
+ConstructParams::ConstructParams(const ConstructParams& src)
+: glibmm_class(src.glibmm_class),
+ n_parameters(src.n_parameters),
+ parameters(src.parameters)
+{
+ //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::~ConstructParams()
{
while(n_parameters > 0)