From 2a2b650064d60293f53bdd585bd289e4f285c23a Mon Sep 17 00:00:00 2001 From: cxl Date: Sun, 19 Apr 2009 11:32:10 +0000 Subject: [PATCH] Fixed Build/Clean *wrong* package bug git-svn-id: svn://ultimatepp.org/upp/trunk@1076 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/ide/Build.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/uppsrc/ide/Build.cpp b/uppsrc/ide/Build.cpp index 5c4d68941..4329836cc 100644 --- a/uppsrc/ide/Build.cpp +++ b/uppsrc/ide/Build.cpp @@ -73,11 +73,19 @@ void Ide::DoBuild() Build(); } +int Find(const Workspace& wspc, const FileList& package) +{ + for(int i = 0; i < wspc.GetCount(); i++) + if(wspc[i] == package.GetCurrentName()) + return i; + return -1; +} + void Ide::PackageBuild() { BeginBuilding(true, true); - int pi = package.GetCursor(); const Workspace& wspc = IdeWorkspace(); + int pi = Find(wspc, package); if(pi >= 0 && pi <= wspc.GetCount()) { Vector linkfile; String linkopt; @@ -102,8 +110,8 @@ String Ide::GetOutputDir() void Ide::PackageClean() { - int pi = package.GetCursor(); const Workspace& wspc = IdeWorkspace(); + int pi = Find(wspc, package); if(pi >= 0 && pi < wspc.GetCount()) { console.Clear(); CleanPackage(wspc, pi);