88
99using namespace geode ::prelude;
1010
11- class $modify(EditorUI) {
11+ class $modify(TypeInUI, EditorUI) {
1212 bool init (LevelEditorLayer* lel) {
1313 if (!EditorUI::init (lel))
1414 return false ;
@@ -19,7 +19,7 @@ class $modify(EditorUI) {
1919 auto layerLockSpr = CCSprite::createWithSpriteFrameName (" GJ_lockGray_001.png" );
2020 layerLockSpr->setScale (.75f );
2121 auto layerLockBtn = CCMenuItemSpriteExtra::create (
22- layerLockSpr, this , menu_selector (EditorUI::onLockLayer )
22+ layerLockSpr, this , menu_selector (TypeInUI::onLockLayerReal )
2323 );
2424 layerLockBtn->setID (" lock-layer" _spr);
2525 layerMenu->insertBefore (layerLockBtn, nullptr );
@@ -28,12 +28,9 @@ class $modify(EditorUI) {
2828 m_currentLayerLabel = EditableBMLabelProxy::replace (
2929 m_currentLayerLabel, this , 40 .f , " Z" ,
3030 [this ](auto str) {
31- try {
32- m_editorLayer->m_currentLayer = std::stoi (str);
33- }
34- catch (...) {
35- m_editorLayer->m_currentLayer = -1 ;
36- }
31+ char * err;
32+ auto num = std::strtol (str.c_str (), &err, 10 );
33+ m_editorLayer->m_currentLayer = *err ? -1 : num;
3734 },
3835 [this ](auto ) {
3936 this ->updateLockBtn ();
0 commit comments