From 7ab56d980478ed4678cdb7a81c5f58005218a0bc Mon Sep 17 00:00:00 2001 From: Jasmine <52604018+hiimjasmine00@users.noreply.github.com> Date: Tue, 6 May 2025 04:58:43 -0400 Subject: [PATCH 1/3] Lol! --- loader/include/Geode/c++stl/gnustl/stl_vector.h | 8 ++++---- loader/include/Geode/c++stl/gnustl/vector.tcc | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/loader/include/Geode/c++stl/gnustl/stl_vector.h b/loader/include/Geode/c++stl/gnustl/stl_vector.h index 172c30b1f..91f5602b4 100644 --- a/loader/include/Geode/c++stl/gnustl/stl_vector.h +++ b/loader/include/Geode/c++stl/gnustl/stl_vector.h @@ -1040,7 +1040,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER insert(const_iterator __position, size_type __n, const value_type& __x) { difference_type __offset = __position - cbegin(); - _M_fill_insert(__position._M_const_cast(), __n, __x); + _M_fill_insert(__position, __n, __x); return begin() + __offset; } #else @@ -1085,7 +1085,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER _InputIterator __last) { difference_type __offset = __position - cbegin(); - _M_insert_dispatch(__position._M_const_cast(), + _M_insert_dispatch(__position, __first, __last, __false_type()); return begin() + __offset; } @@ -1136,7 +1136,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER #else erase(iterator __position) #endif - { return _M_erase(__position._M_const_cast()); } + { return _M_erase(__position); } /** * @brief Remove a range of elements. @@ -1162,7 +1162,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER #else erase(iterator __first, iterator __last) #endif - { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); } + { return _M_erase(__first, __last); } /** * @brief Swaps data with another %vector. diff --git a/loader/include/Geode/c++stl/gnustl/vector.tcc b/loader/include/Geode/c++stl/gnustl/vector.tcc index 2ab868e11..8b7dd4912 100644 --- a/loader/include/Geode/c++stl/gnustl/vector.tcc +++ b/loader/include/Geode/c++stl/gnustl/vector.tcc @@ -137,11 +137,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) { _Tp __x_copy = __x; - _M_insert_aux(__position._M_const_cast(), std::move(__x_copy)); + _M_insert_aux(__position, std::move(__x_copy)); } else #endif - _M_insert_aux(__position._M_const_cast(), __x); + _M_insert_aux(__position, __x); } return iterator(this->_M_impl._M_start + __n); } @@ -320,7 +320,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ++this->_M_impl._M_finish; } else - _M_insert_aux(__position._M_const_cast(), + _M_insert_aux(__position, std::forward<_Args>(__args)...); return iterator(this->_M_impl._M_start + __n); } From d0a417f9043c798c33b85aa70355e23281637a3d Mon Sep 17 00:00:00 2001 From: Jasmine <52604018+hiimjasmine00@users.noreply.github.com> Date: Tue, 6 May 2025 05:15:00 -0400 Subject: [PATCH 2/3] A better way? --- loader/include/Geode/c++stl/gnustl/stl_vector.h | 14 ++++++++++---- loader/include/Geode/c++stl/gnustl/vector.tcc | 9 ++++++--- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/loader/include/Geode/c++stl/gnustl/stl_vector.h b/loader/include/Geode/c++stl/gnustl/stl_vector.h index 91f5602b4..953a4a3c9 100644 --- a/loader/include/Geode/c++stl/gnustl/stl_vector.h +++ b/loader/include/Geode/c++stl/gnustl/stl_vector.h @@ -1040,7 +1040,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER insert(const_iterator __position, size_type __n, const value_type& __x) { difference_type __offset = __position - cbegin(); - _M_fill_insert(__position, __n, __x); + _M_fill_insert(begin() + __offset, __n, __x); return begin() + __offset; } #else @@ -1085,7 +1085,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER _InputIterator __last) { difference_type __offset = __position - cbegin(); - _M_insert_dispatch(__position, + _M_insert_dispatch(begin() + __offset, __first, __last, __false_type()); return begin() + __offset; } @@ -1133,10 +1133,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER iterator #if __cplusplus >= 201103L erase(const_iterator __position) + { return _M_erase(begin() + (__position - cbegin())); } #else erase(iterator __position) -#endif { return _M_erase(__position); } +#endif /** * @brief Remove a range of elements. @@ -1159,10 +1160,15 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER iterator #if __cplusplus >= 201103L erase(const_iterator __first, const_iterator __last) + { + const auto __beg = begin(); + const auto __cbeg = cbegin(); + return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg)); + } #else erase(iterator __first, iterator __last) -#endif { return _M_erase(__first, __last); } +#endif /** * @brief Swaps data with another %vector. diff --git a/loader/include/Geode/c++stl/gnustl/vector.tcc b/loader/include/Geode/c++stl/gnustl/vector.tcc index 8b7dd4912..f307d7d92 100644 --- a/loader/include/Geode/c++stl/gnustl/vector.tcc +++ b/loader/include/Geode/c++stl/gnustl/vector.tcc @@ -134,14 +134,17 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER else { #if __cplusplus >= 201103L + const auto __pos = begin() + (__position - cbegin()); if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) { _Tp __x_copy = __x; - _M_insert_aux(__position, std::move(__x_copy)); + _M_insert_aux(__pos, std::move(__x_copy)); } else + _M_insert_aux(__pos, __x); +#else + _M_insert_aux(__position, __x); #endif - _M_insert_aux(__position, __x); } return iterator(this->_M_impl._M_start + __n); } @@ -320,7 +323,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ++this->_M_impl._M_finish; } else - _M_insert_aux(__position, + _M_insert_aux(begin() + (__position - cbegin()), std::forward<_Args>(__args)...); return iterator(this->_M_impl._M_start + __n); } From 9a3afceb6580a6b2283e20b96deb6e1aa952a334 Mon Sep 17 00:00:00 2001 From: Jasmine <52604018+hiimjasmine00@users.noreply.github.com> Date: Tue, 6 May 2025 05:19:17 -0400 Subject: [PATCH 3/3] Fix PCH --- loader/src/platform/android/util.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/loader/src/platform/android/util.cpp b/loader/src/platform/android/util.cpp index 091f6be12..f38b67f35 100644 --- a/loader/src/platform/android/util.cpp +++ b/loader/src/platform/android/util.cpp @@ -1,5 +1,3 @@ -using namespace geode::prelude; - #include #include #include @@ -22,6 +20,7 @@ using namespace geode::prelude; #include using geode::utils::permission::Permission; +using namespace geode::prelude; bool utils::clipboard::write(std::string const& data) { JniMethodInfo t;