From 040b014f3d4abf45770cd35e73290bb1af4fd9f2 Mon Sep 17 00:00:00 2001 From: klugier Date: Wed, 15 Jul 2015 20:05:57 +0000 Subject: [PATCH] Fix ide crash when empty build method is saved #1186 git-svn-id: svn://ultimatepp.org/upp/trunk@8687 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/ide/Builders/AndroidBuilder.icpp | 5 +++-- uppsrc/ide/Methods.cpp | 9 ++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/uppsrc/ide/Builders/AndroidBuilder.icpp b/uppsrc/ide/Builders/AndroidBuilder.icpp index 9083a61f9..845810f79 100644 --- a/uppsrc/ide/Builders/AndroidBuilder.icpp +++ b/uppsrc/ide/Builders/AndroidBuilder.icpp @@ -205,8 +205,9 @@ bool AndroidBuilder::BuildPackage(const String& package, Vector& linkfil for(int i = 0; i < pkg.flag.GetCount(); i++) pkgMakeFile.AddCppFlag(pkg.flag[i].text); - for(int i = 0; i < pkg.library.GetCount(); i++) - pkgMakeFile.AddLdLibrary(pkg.library[i].text); + Vector libs = Split(Gather(pkg.library, config.GetKeys()), ' '); + for(int i = 0; i < libs.GetCount(); i++) + pkgMakeFile.AddLdLibrary(libs[i]); Vector staticLibs = Split(Gather(pkg.static_library, config.GetKeys()), ' '); for(int i = 0; i < staticLibs.GetCount(); i++) diff --git a/uppsrc/ide/Methods.cpp b/uppsrc/ide/Methods.cpp index 421ecdd41..3b4d05c95 100644 --- a/uppsrc/ide/Methods.cpp +++ b/uppsrc/ide/Methods.cpp @@ -445,7 +445,9 @@ void BuildMethods::Load() VectorMap map; String fn = ConfigFile(ff.GetName()); if(LoadVarFile(fn, map)) { - String builderName = map.Get("BUILDER"); + int builderIdx = map.Find("BUILDER"); + String builderName = builderIdx >= 0 ? map[builderIdx] : ""; + int setupIdx = -1; String prefix; for(int i = 0; i < setups.GetCount(); i++) { @@ -646,8 +648,9 @@ VectorMap BuildMethods::MapBuilderVars(const VectorMap mapedMap; Index varsToMaped; - - String builder = map.Get("BUILDER"); + + int builderIdx = map.Find("BUILDER"); + String builder = builderIdx >= 0 ? map[builderIdx] : ""; if(builder.IsEmpty()) return VectorMap();