bool RevertQuery::CheckRevert() { if (this->UsingSR) { return ProcessRevert(); } if (this->qRevert == nullptr || !this->qRevert->IsProcessed()) return false; this->CustomStatus = RevertQuery::GetCustomRevertStatus(this->qRevert->Result->Data); if (this->CustomStatus != "Reverted") { Huggle::Syslog::HuggleLogs->Log(_l("revert-fail", this->qRevert->Target, this->CustomStatus)); this->qRevert->Result->Failed = true; this->qRevert->Result->ErrorMessage = CustomStatus; this->Result = new QueryResult(); this->Result->ErrorMessage = CustomStatus; this->Result->Failed = true; } else { HistoryItem *item = new HistoryItem(); item->IncRef(); this->HI = item; this->Result = new QueryResult(); this->Result->Data = this->qRevert->Result->Data; item->Target = this->qRevert->Target; item->Type = HistoryRollback; item->Result = "Success"; if (Core::HuggleCore->Main != nullptr) Core::HuggleCore->Main->_History->Prepend(item); } this->qRevert->UnregisterConsumer(HUGGLECONSUMER_REVERTQUERY); this->qRevert = nullptr; return true; }