Jelajahi Sumber

Fixed UIMenus broken by last commit

Ivan Safrin 12 tahun lalu
induk
melakukan
1113728033

+ 13 - 6
IDE/Contents/Source/PolycodeIDEApp.cpp

@@ -224,12 +224,19 @@ void PolycodeIDEApp::refreshProject() {
 }
 
 void PolycodeIDEApp::removeEditor(PolycodeEditor *editor) {
-	frame->removeEditor(editor);
-	editorManager->destroyEditor(editor);
-	if(editorManager->openEditors.size() > 0) {
-		editorManager->setCurrentEditor(editorManager->openEditors[0]);
-		frame->showEditor(editorManager->openEditors[0]);
-	}
+	if(!editor)
+		return;
+		
+//	if(editor->hasChanges()) {
+//		printf("HAS CHANGES!\n");
+//	} else {	
+		frame->removeEditor(editor);
+		editorManager->destroyEditor(editor);
+		if(editorManager->openEditors.size() > 0) {
+			editorManager->setCurrentEditor(editorManager->openEditors[0]);
+			frame->showEditor(editorManager->openEditors[0]);
+		}
+//	}
 }
 
 void PolycodeIDEApp::closeFile() {

+ 4 - 7
Modules/Contents/UI/Source/PolyUIMenu.cpp

@@ -181,13 +181,10 @@ void UIMenu::handleEvent(Event *event) {
 
 UIMenu::~UIMenu() {
 	CoreServices::getInstance()->getCore()->getInput()->removeAllHandlersForListener(this);
-	
-	for(int c = 0; c < items.size(); c++)
-		delete items[c];
-	
-	if(!ownsChildren) {
+
+	dropDownBox->ownsChildren = true;
+	if(!ownsChildren) {	
 		delete dropDownBox;
-		delete selectorBox;
 	}
 	
 	CoreServices::getInstance()->getCore()->getInput()->removeAllHandlersForListener(this);
@@ -215,7 +212,7 @@ UIGlobalMenu::UIGlobalMenu() : ScreenEntity() {
 }
 
 UIGlobalMenu::~UIGlobalMenu() {
-
+	
 }
 
 void UIGlobalMenu::hideMenu() {