]> git.saurik.com Git - wxWidgets.git/commitdiff
compilation fixes for generic implementation of wxAtomicInt32
authorVáclav Slavík <vslavik@fastmail.fm>
Mon, 10 Sep 2007 21:52:02 +0000 (21:52 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Mon, 10 Sep 2007 21:52:02 +0000 (21:52 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/atomic.h

index 9918f63ecc61afc83a432bcb8bc6c5d5bb539a6a..c2cdc6234535d243b5187bcaa8d5065b4de81a1a 100644 (file)
@@ -111,13 +111,13 @@ inline wxUint32 wxAtomicDec (wxUint32 &value) { return --value; }
 class wxAtomicInt32
 {
 public:
-    wxAtomicInt() { } // non initialized for consistency with basic int type
-    wxAtomicInt(wxInt32 v) : m_value(v) { }
+    wxAtomicInt32() { } // non initialized for consistency with basic int type
+    wxAtomicInt32(wxInt32 v) : m_value(v) { }
 
     operator wxInt32() const { return m_value; }
-    operator wxInt32&() { return m_value; }
+    operator volatile wxInt32&() { return m_value; }
 
-    wxAtomicInt& operator=(wxInt32 v) { m_value = v; return *this; }
+    wxAtomicInt32& operator=(wxInt32 v) { m_value = v; return *this; }
 
     void Inc()
     {
@@ -134,10 +134,12 @@ public:
 private:
     volatile wxInt32  m_value;
     wxCriticalSection m_locker;
+
+    DECLARE_NO_COPY_CLASS(wxAtomicInt32)
 };
 
-inline void wxAtomicInc(wxAtomicInt &value) { value.Inc(); }
-inline wxInt32 wxAtomicDec(wxAtomicInt &value) { return value.Dec(); }
+inline void wxAtomicInc(wxAtomicInt32 &value) { value.Inc(); }
+inline wxInt32 wxAtomicDec(wxAtomicInt32 &value) { return value.Dec(); }
 
 #else // !wxHAS_GENERIC_ATOMIC_OPS