summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2013-01-10 17:02:54 (GMT)
committer jacob1 <jfu614@gmail.com>2013-01-10 17:02:54 (GMT)
commitf814d264b24bdddee2e2eeeae9bec42978615c94 (patch)
treebf95aa1d246a1d1e9f096d0b0d933a2f13fb53b5 /src
parent17302f03c79287be3e987b53a6008c8bf81881d3 (diff)
downloadpowder-f814d264b24bdddee2e2eeeae9bec42978615c94.zip
powder-f814d264b24bdddee2e2eeeae9bec42978615c94.tar.gz
defocus components removed from scrollpanels, to prevent crashes
Diffstat (limited to 'src')
-rw-r--r--src/filebrowser/FileBrowserActivity.cpp2
-rw-r--r--src/interface/Panel.cpp2
-rw-r--r--src/save/LocalSaveActivity.cpp1
3 files changed, 4 insertions, 1 deletions
diff --git a/src/filebrowser/FileBrowserActivity.cpp b/src/filebrowser/FileBrowserActivity.cpp
index b8e18bf..0ea7104 100644
--- a/src/filebrowser/FileBrowserActivity.cpp
+++ b/src/filebrowser/FileBrowserActivity.cpp
@@ -68,7 +68,7 @@ class LoadFilesTask: public Task
{
std::vector<unsigned char> data = Client::Ref().ReadFile(*iter);
GameSave * tempSave = new GameSave(data);
- saveFile->SetGameSave(tempSave);
+ saveFile->SetGameSave(tempSave);
saveFiles.push_back(saveFile);
std::string filename = *iter;
diff --git a/src/interface/Panel.cpp b/src/interface/Panel.cpp
index d673037..b78a2cc 100644
--- a/src/interface/Panel.cpp
+++ b/src/interface/Panel.cpp
@@ -82,6 +82,8 @@ void Panel::RemoveChild(Component* c)
{
//remove child from parent. Does not free memory
children.erase(children.begin() + i);
+ if (this->GetParentWindow()->IsFocused(c))
+ this->GetParentWindow()->FocusComponent(NULL);
break;
}
}
diff --git a/src/save/LocalSaveActivity.cpp b/src/save/LocalSaveActivity.cpp
index b57a993..96296f0 100644
--- a/src/save/LocalSaveActivity.cpp
+++ b/src/save/LocalSaveActivity.cpp
@@ -48,6 +48,7 @@ LocalSaveActivity::LocalSaveActivity(SaveFile save, FileSavedCallback * callback
filenameField->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
filenameField->Appearance.HorizontalAlign = ui::Appearance::AlignLeft;
AddComponent(filenameField);
+ FocusComponent(filenameField);
ui::Button * cancelButton = new ui::Button(ui::Point(0, Size.Y-16), ui::Point(Size.X-75, 16), "Cancel");
cancelButton->Appearance.HorizontalAlign = ui::Appearance::AlignLeft;