diff options
author | eska <eska@eska.me> | 2017-01-31 03:46:30 +0100 |
---|---|---|
committer | eska <eska@eska.me> | 2017-02-01 10:21:04 +0100 |
commit | e06edc67c049c65c3952a8447e22717a0f492020 (patch) | |
tree | ca08d23b54fbb40fb609b44a58395eb72b3203fb /core | |
parent | 7b059965e8df745c5b45b4ec6bfbdfe1a7397642 (diff) |
Enable WebGL2 in web export, start fixing build
Will not yet compile
Diffstat (limited to 'core')
-rw-r--r-- | core/class_db.cpp | 5 | ||||
-rw-r--r-- | core/safe_refcount.cpp | 8 | ||||
-rw-r--r-- | core/vector.h | 2 |
3 files changed, 14 insertions, 1 deletions
diff --git a/core/class_db.cpp b/core/class_db.cpp index bb3368c128..2a3a12b127 100644 --- a/core/class_db.cpp +++ b/core/class_db.cpp @@ -33,6 +33,7 @@ #ifdef NO_THREADS #define OBJTYPE_RLOCK +#define OBJTYPE_WLOCK #else @@ -776,11 +777,15 @@ void ClassDB::add_property(StringName p_class,const PropertyInfo& p_pinfo, const +#ifndef NO_THREADS lock->read_lock(); +#endif ClassInfo *type=classes.getptr(p_class); +#ifndef NO_THREADS lock->read_unlock(); +#endif ERR_FAIL_COND(!type); diff --git a/core/safe_refcount.cpp b/core/safe_refcount.cpp index ede37bbe8a..50617f2062 100644 --- a/core/safe_refcount.cpp +++ b/core/safe_refcount.cpp @@ -44,6 +44,14 @@ uint32_t atomic_conditional_increment( register uint32_t * pw ) { return *pw; } +uint32_t atomic_increment( register uint32_t * pw ) { + + (*pw)++; + + return *pw; + +} + uint32_t atomic_decrement( register uint32_t * pw ) { (*pw)--; diff --git a/core/vector.h b/core/vector.h index 3119657cbb..1cb3fee256 100644 --- a/core/vector.h +++ b/core/vector.h @@ -81,7 +81,7 @@ class Vector { size_t p; if (_mul_overflow(p_elements, sizeof(T), &o)) return false; *out = nearest_power_of_2(o); - if (_add_overflow(o, 32, &p)) return false; //no longer allocated here + if (_add_overflow(o, static_cast<size_t>(32), &p)) return false; //no longer allocated here return true; #else // Speed is more important than correctness here, do the operations unchecked |