summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authoreska <eska@eska.me>2017-01-31 03:46:30 +0100
committereska <eska@eska.me>2017-02-01 10:21:04 +0100
commite06edc67c049c65c3952a8447e22717a0f492020 (patch)
treeca08d23b54fbb40fb609b44a58395eb72b3203fb /core
parent7b059965e8df745c5b45b4ec6bfbdfe1a7397642 (diff)
Enable WebGL2 in web export, start fixing build
Will not yet compile
Diffstat (limited to 'core')
-rw-r--r--core/class_db.cpp5
-rw-r--r--core/safe_refcount.cpp8
-rw-r--r--core/vector.h2
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