Commit 58ca77f5 authored by mercury233's avatar mercury233

fix

parent 5dbb98fd
......@@ -84,6 +84,7 @@ void DeckBuilder::Initialize() {
is_starting_dragging = false;
prev_deck = mainGame->cbDBDecks->getSelected();
prev_operation = 0;
prev_sel = -1;
is_modified = false;
mainGame->device->setEventReceiver(this);
}
......@@ -184,6 +185,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame->PopupElement(mainGame->wQuery);
mainGame->gMutex.Unlock();
prev_operation = id;
prev_sel = sel;
break;
}
case BUTTON_LEAVE_GAME: {
......@@ -260,7 +262,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
deckManager.current_deck.extra.clear();
deckManager.current_deck.side.clear();
} else if(prev_operation == BUTTON_DELETE_DECK) {
int sel = mainGame->cbDBDecks->getSelected();
int sel = prev_sel;
if(deckManager.DeleteDeck(deckManager.current_deck, mainGame->cbDBDecks->getItem(sel))) {
mainGame->cbDBDecks->removeItem(sel);
int count = mainGame->cbDBDecks->getItemCount();
......@@ -274,6 +276,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
prev_deck = sel;
is_modified = false;
}
prev_sel = -1;
} else if(prev_operation == BUTTON_LEAVE_GAME) {
Terminate();
} else if(prev_operation == COMBOBOX_DBDECKS) {
......
......@@ -62,6 +62,7 @@ public:
code_pointer draging_pointer;
int prev_deck;
s32 prev_operation;
int prev_sel;
bool is_modified;
std::unordered_map<int, int>* filterList;
......
......@@ -44,6 +44,8 @@ bool Game::Initialize() {
ignore_chain = false;
chain_when_avail = false;
is_building = false;
menuHandler.prev_operation = 0;
menuHandler.prev_sel = -1;
memset(&dInfo, 0, sizeof(DuelInfo));
memset(chatTiming, 0, sizeof(chatTiming));
deckManager.LoadLFList();
......
......@@ -250,6 +250,7 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
mainGame->PopupElement(mainGame->wQuery);
mainGame->gMutex.Unlock();
prev_operation = id;
prev_sel = sel;
break;
}
case BUTTON_RENAME_REPLAY: {
......@@ -262,6 +263,7 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
mainGame->PopupElement(mainGame->wReplaySave);
mainGame->gMutex.Unlock();
prev_operation = id;
prev_sel = sel;
break;
}
case BUTTON_CANCEL_REPLAY: {
......@@ -368,45 +370,43 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
case BUTTON_YES: {
mainGame->HideElement(mainGame->wQuery);
if(prev_operation == BUTTON_DELETE_REPLAY) {
int sel = mainGame->lstReplayList->getSelected();
if(sel == -1)
break;
if(Replay::DeleteReplay(mainGame->lstReplayList->getListItem(sel))) {
if(Replay::DeleteReplay(mainGame->lstReplayList->getListItem(prev_sel))) {
mainGame->stReplayInfo->setText(L"");
mainGame->lstReplayList->removeItem(sel);
mainGame->lstReplayList->removeItem(prev_sel);
}
}
prev_operation = 0;
prev_sel = -1;
break;
}
case BUTTON_NO: {
mainGame->HideElement(mainGame->wQuery);
prev_operation = 0;
prev_sel = -1;
break;
}
case BUTTON_REPLAY_SAVE: {
mainGame->HideElement(mainGame->wReplaySave);
if(prev_operation == BUTTON_RENAME_REPLAY) {
int sel = mainGame->lstReplayList->getSelected();
if(sel == -1)
break;
wchar_t newname[256];
BufferIO::CopyWStr(mainGame->ebRSName->getText(), newname, 256);
if(wcsnicmp(newname + wcslen(newname) - 4, L".yrp", 4)) {
myswprintf(newname, L"%ls.yrp", mainGame->ebRSName->getText());
}
if(Replay::RenameReplay(mainGame->lstReplayList->getListItem(sel), newname)) {
mainGame->lstReplayList->setItem(sel, newname, -1);
if(Replay::RenameReplay(mainGame->lstReplayList->getListItem(prev_sel), newname)) {
mainGame->lstReplayList->setItem(prev_sel, newname, -1);
} else {
mainGame->env->addMessageBox(L"", dataManager.GetSysString(1365));
}
}
prev_operation = 0;
prev_sel = -1;
break;
}
case BUTTON_REPLAY_CANCEL: {
mainGame->HideElement(mainGame->wReplaySave);
prev_operation = 0;
prev_sel = -1;
break;
}
}
......
......@@ -9,6 +9,7 @@ class MenuHandler: public irr::IEventReceiver {
public:
virtual bool OnEvent(const irr::SEvent& event);
s32 prev_operation;
int prev_sel;
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment