[glibmm] Glib::ObjectBase: Don't use std::auto_ptr
- From: Kjell Ahlstedt <kjellahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glibmm] Glib::ObjectBase: Don't use std::auto_ptr
- Date: Sun, 3 May 2015 08:05:57 +0000 (UTC)
commit 0b8237dd0b77a1e2d031256bacd97e13193039bb
Author: Kjell Ahlstedt <kjell ahlstedt bredband net>
Date: Sun May 3 09:58:37 2015 +0200
Glib::ObjectBase: Don't use std::auto_ptr
* glib/glibmm/objectbase.[h|cc]: Use a plain pointer instead of std::auto_ptr.
auto_ptr is deprecated in C++11, and can cause compilation warnings.
Bug #748630.
glib/glibmm/objectbase.cc | 5 +----
glib/glibmm/objectbase.h | 6 +++---
2 files changed, 4 insertions(+), 7 deletions(-)
---
diff --git a/glib/glibmm/objectbase.cc b/glib/glibmm/objectbase.cc
index 140816a..c7add7f 100644
--- a/glib/glibmm/objectbase.cc
+++ b/glib/glibmm/objectbase.cc
@@ -1,6 +1,3 @@
-// -*- c++ -*-
-/* $Id$ */
-
/* Copyright 2002 The gtkmm Development Team
*
* This library is free software; you can redistribute it and/or
@@ -46,7 +43,7 @@ namespace Glib
// static data members
ObjectBase::extra_object_base_data_type ObjectBase::extra_object_base_data;
-std::auto_ptr<Threads::Mutex> ObjectBase::extra_object_base_data_mutex(new Threads::Mutex());
+Threads::Mutex* ObjectBase::extra_object_base_data_mutex = new Threads::Mutex();
ObjectBase::ObjectBase()
:
diff --git a/glib/glibmm/objectbase.h b/glib/glibmm/objectbase.h
index a3afd83..fe501df 100644
--- a/glib/glibmm/objectbase.h
+++ b/glib/glibmm/objectbase.h
@@ -29,7 +29,7 @@
#include <sigc++/trackable.h>
#include <typeinfo>
#include <map> // Needed until the next ABI break.
-#include <memory> // auto_ptr, needed until the next ABI break.
+#include <memory> // Not used by ObjectBase any more, but user code may rely on it being here.
#ifndef DOXYGEN_SHOULD_SKIP_THIS
extern "C" { typedef struct _GObject GObject; }
@@ -209,10 +209,10 @@ typedef std::map<const ObjectBase*, ExtraObjectBaseData> extra_object_base_data_
static extra_object_base_data_type extra_object_base_data;
// ObjectBase instances may be used in different threads.
// Accesses to extra_object_base_data must be thread-safe.
-// auto_ptr, because we don't want to include glibmm/threads.h in objectbase.h.
+// Threads::Mutex*, because we don't want to include glibmm/threads.h in objectbase.h.
// threads.h must be the first included file that includes glib.h. That could cause
// problems in files that directly or indirectly include objectbase.h.
-static std::auto_ptr<Threads::Mutex> extra_object_base_data_mutex;
+static Threads::Mutex* extra_object_base_data_mutex;
public: // is_derived_() must be public, so that overridden vfuncs and signal handlers can call it via
ObjectBase.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]