##// END OF EJS Templates
Fix bug in canceling process: the handler canUpdate was always set to ...
perrinel -
r832:c5d1bb9523be
parent child
Show More
@@ -686,8 +686,10 void VariableController::VariableControllerPrivate::processRequest(std::shared_p
686 686 << varRequest.m_RangeRequested
687 687 << varRequest.m_CacheRangeRequested;
688 688 auto variableGroupIdToCancel = varHandler->m_PendingVarRequest.m_VariableGroupId;
689 varHandler->m_PendingVarRequest = varRequest;
690 689 cancelVariableRequest(variableGroupIdToCancel);
690 // Cancel variable can make state downgrade
691 varHandler->m_State = VariableRequestHandlerState::PENDING;
692 varHandler->m_PendingVarRequest = varRequest;
691 693
692 694 break;
693 695 }
@@ -764,7 +766,8 QUuid VariableController::VariableControllerPrivate::acceptVariableRequest(
764 766
765 767 auto varHandler = itVarHandler->second.get();
766 768 if (varHandler->m_State == VariableRequestHandlerState::OFF) {
767 // TODO log impossible case !!!
769 qCCritical(LOG_VariableController())
770 << tr("acceptVariableRequest impossible on a variable with OFF state");
768 771 }
769 772
770 773 varHandler->m_RunningVarRequest.m_DataSeries = dataSeries;
@@ -793,6 +796,8 void VariableController::VariableControllerPrivate::updateVariables(QUuid varReq
793 796 auto &varIds = varGroupIdToVarIdsIt->second;
794 797 auto varIdsEnd = varIds.end();
795 798 bool processVariableUpdate = true;
799 qCDebug(LOG_VariableController()) << "VariableControllerPrivate::updateVariables"
800 << varRequestId << varIds.size();
796 801 for (auto varIdsIt = varIds.begin(); (varIdsIt != varIdsEnd) && processVariableUpdate;
797 802 ++varIdsIt) {
798 803 auto itVarHandler = m_VarIdToVarRequestHandler.find(*varIdsIt);
@@ -842,7 +847,9 void VariableController::VariableControllerPrivate::updateVariableRequest(QUuid
842 847 {
843 848 auto varGroupIdToVarIdsIt = m_VarGroupIdToVarIds.find(varRequestId);
844 849 if (varGroupIdToVarIdsIt == m_VarGroupIdToVarIds.end()) {
845 // TODO LOG cannot update variable request since varGroupdId isn't here anymore
850 qCCritical(LOG_VariableController()) << QObject::tr(
851 "Impossible to updateVariableRequest since varGroupdId isn't here anymore");
852
846 853 return;
847 854 }
848 855
@@ -901,7 +908,6 void VariableController::VariableControllerPrivate::cancelVariableRequest(QUuid
901 908 if (itVarHandler != m_VarIdToVarRequestHandler.cend()) {
902 909
903 910 auto varHandler = itVarHandler->second.get();
904 varHandler->m_CanUpdate = false;
905 911 varHandler->m_VarId = QUuid{};
906 912 switch (varHandler->m_State) {
907 913 case VariableRequestHandlerState::OFF: {
@@ -919,6 +925,7 void VariableController::VariableControllerPrivate::cancelVariableRequest(QUuid
919 925 itVarHandler->first);
920 926 }
921 927 m_VariableModel->setDataProgress(var, 0.0);
928 varHandler->m_CanUpdate = false;
922 929 varHandler->m_State = VariableRequestHandlerState::OFF;
923 930 varHandler->m_RunningVarRequest = VariableRequest{};
924 931 }
@@ -937,8 +944,10 void VariableController::VariableControllerPrivate::cancelVariableRequest(QUuid
937 944 itVarHandler->first);
938 945 }
939 946 m_VariableModel->setDataProgress(var, 0.0);
947 varHandler->m_CanUpdate = false;
940 948 varHandler->m_State = VariableRequestHandlerState::RUNNING;
941 949 varHandler->m_RunningVarRequest = varHandler->m_PendingVarRequest;
950 varHandler->m_PendingVarRequest = VariableRequest{};
942 951 executeVarRequest(var, varHandler->m_RunningVarRequest);
943 952 }
944 953 else if (varHandler->m_PendingVarRequest.m_VariableGroupId == varRequestId) {
General Comments 0
You need to be logged in to leave comments. Login now