Merge pull request #34618 from qarmin/vector_please_dont_crash
Don't use constant reference in Vector push_back, insert and append_array
This commit is contained in:
commit
bde52cc688
2 changed files with 8 additions and 5 deletions
|
@ -63,7 +63,7 @@ private:
|
||||||
CowData<T> _cowdata;
|
CowData<T> _cowdata;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
bool push_back(const T &p_elem);
|
bool push_back(T p_elem);
|
||||||
|
|
||||||
void remove(int p_index) { _cowdata.remove(p_index); }
|
void remove(int p_index) { _cowdata.remove(p_index); }
|
||||||
void erase(const T &p_val) {
|
void erase(const T &p_val) {
|
||||||
|
@ -83,10 +83,10 @@ public:
|
||||||
_FORCE_INLINE_ int size() const { return _cowdata.size(); }
|
_FORCE_INLINE_ int size() const { return _cowdata.size(); }
|
||||||
Error resize(int p_size) { return _cowdata.resize(p_size); }
|
Error resize(int p_size) { return _cowdata.resize(p_size); }
|
||||||
_FORCE_INLINE_ const T &operator[](int p_index) const { return _cowdata.get(p_index); }
|
_FORCE_INLINE_ const T &operator[](int p_index) const { return _cowdata.get(p_index); }
|
||||||
Error insert(int p_pos, const T &p_val) { return _cowdata.insert(p_pos, p_val); }
|
Error insert(int p_pos, T p_val) { return _cowdata.insert(p_pos, p_val); }
|
||||||
int find(const T &p_val, int p_from = 0) const { return _cowdata.find(p_val, p_from); }
|
int find(const T &p_val, int p_from = 0) const { return _cowdata.find(p_val, p_from); }
|
||||||
|
|
||||||
void append_array(const Vector<T> &p_other);
|
void append_array(Vector<T> p_other);
|
||||||
|
|
||||||
template <class C>
|
template <class C>
|
||||||
void sort_custom() {
|
void sort_custom() {
|
||||||
|
@ -136,7 +136,7 @@ void Vector<T>::invert() {
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
void Vector<T>::append_array(const Vector<T> &p_other) {
|
void Vector<T>::append_array(Vector<T> p_other) {
|
||||||
const int ds = p_other.size();
|
const int ds = p_other.size();
|
||||||
if (ds == 0)
|
if (ds == 0)
|
||||||
return;
|
return;
|
||||||
|
@ -147,7 +147,7 @@ void Vector<T>::append_array(const Vector<T> &p_other) {
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
bool Vector<T>::push_back(const T &p_elem) {
|
bool Vector<T>::push_back(T p_elem) {
|
||||||
|
|
||||||
Error err = resize(size() + 1);
|
Error err = resize(size() + 1);
|
||||||
ERR_FAIL_COND_V(err, true);
|
ERR_FAIL_COND_V(err, true);
|
||||||
|
|
|
@ -172,7 +172,10 @@ class EditorSceneImporterGLTF : public EditorSceneImporter {
|
||||||
min = 0;
|
min = 0;
|
||||||
max = 0;
|
max = 0;
|
||||||
sparse_count = 0;
|
sparse_count = 0;
|
||||||
|
sparse_indices_buffer_view = 0;
|
||||||
sparse_indices_byte_offset = 0;
|
sparse_indices_byte_offset = 0;
|
||||||
|
sparse_indices_component_type = 0;
|
||||||
|
sparse_values_buffer_view = 0;
|
||||||
sparse_values_byte_offset = 0;
|
sparse_values_byte_offset = 0;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue