diff --git a/bindings/GeometryDash.bro b/bindings/GeometryDash.bro
index 6760f9a7..f6555221 100644
--- a/bindings/GeometryDash.bro
+++ b/bindings/GeometryDash.bro
@@ -3792,7 +3792,7 @@ class LevelEditorLayer : GJBaseGameLayer, LevelSettingsDelegate {
 
 class LevelInfoLayer : cocos2d::CCLayer, LevelDownloadDelegate, LevelUpdateDelegate, RateLevelDelegate, LikeItemDelegate, FLAlertLayerProtocol, LevelDeleteDelegate, NumberInputDelegate, SetIDPopupDelegate {
     static LevelInfoLayer* create(GJGameLevel* level) = mac 0x15f290, win 0x175d50;
-    bool init(GJGameLevel* level) = win 0x175DF0;
+    bool init(GJGameLevel* level) = win 0x175df0, mac 0x15f520;
     void onGarage(cocos2d::CCObject* sender) = win 0x177c10;
     void onViewProfile(cocos2d::CCObject* sender) = win 0x17ac90;
     void onLevelInfo(cocos2d::CCObject* sender) = win 0x17acf0;
diff --git a/loader/include/Geode/c++stl/gnustl.hpp b/loader/include/Geode/c++stl/gnustl.hpp
index c13b545f..bd62acd4 100644
--- a/loader/include/Geode/c++stl/gnustl.hpp
+++ b/loader/include/Geode/c++stl/gnustl.hpp
@@ -330,6 +330,14 @@ namespace gd {
             m_capacity_end = m_start + input.size();
             std::copy(input.begin(), input.end(), tmp);
         }
+        
+        void clear() {
+            delete[] m_start;
+            auto tmp = new T[0];
+            m_start = tmp;
+            m_finish = m_start;
+            m_capacity_end = m_start;
+        }
 
         T& front() {
             return *m_start;