VirtualBox

Ignore:
Timestamp:
Mar 22, 2012 2:12:26 PM (13 years ago)
Author:
vboxsync
Message:

GuestCtrl: Check for already completed/canceled progress objects when setting errors/success.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-client/GuestCtrlImplTasks.cpp

    r40206 r40575  
    121121
    122122/* static */
    123 HRESULT GuestTask::setProgressErrorInfo(HRESULT hr, ComObjPtr<Progress> pProgress,
    124                                                const char *pszText, ...)
     123HRESULT GuestTask::setProgressSuccess(ComObjPtr<Progress> pProgress)
     124{
     125    BOOL fCanceled;
     126    BOOL fCompleted;
     127    if (   SUCCEEDED(pProgress->COMGETTER(Canceled(&fCanceled)))
     128        && !fCanceled
     129        && SUCCEEDED(pProgress->COMGETTER(Completed(&fCompleted)))
     130        && !fCompleted)
     131    {
     132        return pProgress->notifyComplete(S_OK);
     133    }
     134
     135    return S_OK;
     136}
     137
     138/* static */
     139HRESULT GuestTask::setProgressErrorMsg(HRESULT hr, ComObjPtr<Progress> pProgress,
     140                                       const char *pszText, ...)
    125141{
    126142    BOOL fCanceled;
     
    147163
    148164/* static */
    149 HRESULT GuestTask::setProgressErrorInfo(HRESULT hr,
    150                                         ComObjPtr<Progress> pProgress, ComObjPtr<Guest> pGuest)
     165HRESULT GuestTask::setProgressErrorParent(HRESULT hr,
     166                                          ComObjPtr<Progress> pProgress, ComObjPtr<Guest> pGuest)
    151167{
    152     return setProgressErrorInfo(hr, pProgress,
    153                                 Utf8Str(com::ErrorInfo((IGuest*)pGuest, COM_IIDOF(IGuest)).getText()).c_str());
     168    return setProgressErrorMsg(hr, pProgress,
     169                               Utf8Str(com::ErrorInfo((IGuest*)pGuest, COM_IIDOF(IGuest)).getText()).c_str());
    154170}
    155171
     
    177193        if (!RTFileExists(aTask->strSource.c_str()))
    178194        {
    179             rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    180                                                  Guest::tr("Source file \"%s\" does not exist, or is not a file"),
    181                                                  aTask->strSource.c_str());
     195            rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     196                                                Guest::tr("Source file \"%s\" does not exist or is not a file"),
     197                                                aTask->strSource.c_str());
    182198        }
    183199        else
     
    188204            if (RT_FAILURE(vrc))
    189205            {
    190                 rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    191                                                      Guest::tr("Could not open source file \"%s\" for reading (%Rrc)"),
    192                                                      aTask->strSource.c_str(), vrc);
     206                rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     207                                                    Guest::tr("Could not open source file \"%s\" for reading (%Rrc)"),
     208                                                    aTask->strSource.c_str(), vrc);
    193209            }
    194210            else
     
    198214                if (RT_FAILURE(vrc))
    199215                {
    200                     rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    201                                                          Guest::tr("Could not query file size of \"%s\" (%Rrc)"),
    202                                                          aTask->strSource.c_str(), vrc);
     216                    rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     217                                                        Guest::tr("Could not query file size of \"%s\" (%Rrc)"),
     218                                                        aTask->strSource.c_str(), vrc);
    203219                }
    204220                else
     
    211227                     */
    212228                    char szOutput[RTPATH_MAX];
    213                     if (RTStrPrintf(szOutput, sizeof(szOutput), "--output=%s", aTask->strDest.c_str()) <= sizeof(szOutput) - 1)
     229                    size_t cchOutput = RTStrPrintf(szOutput, sizeof(szOutput), "--output=%s", aTask->strDest.c_str());
     230                    if (cchOutput && cchOutput <= sizeof(szOutput) - 1)
    214231                    {
    215232                        /*
     
    231248                    }
    232249                    else
    233                     {
    234                         rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    235                                                              Guest::tr("Error preparing command line"));
    236                     }
     250                        rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     251                                                            Guest::tr("Destination file for source \"%s\" invalid (%ubytes)"),
     252                                                            aTask->strSource.c_str(), cchOutput);
    237253
    238254                    ComPtr<IProgress> execProgress;
     
    256272                                                           execProgress.asOutParam(), &uPID);
    257273                        if (FAILED(rc))
    258                             rc = GuestTask::setProgressErrorInfo(rc, aTask->pProgress, pGuest);
     274                            rc = GuestTask::setProgressErrorParent(rc, aTask->pProgress, pGuest);
    259275                    }
    260276
     
    287303                                    if (RT_FAILURE(vrc))
    288304                                    {
    289                                         rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    290                                                                              Guest::tr("Could not read from file \"%s\" (%Rrc)"),
    291                                                                              aTask->strSource.c_str(), vrc);
     305                                        rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     306                                                                            Guest::tr("Could not read from file \"%s\" (%Rrc)"),
     307                                                                            aTask->strSource.c_str(), vrc);
    292308                                        break;
    293309                                    }
     
    295311                                else
    296312                                {
    297                                     rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    298                                                                          Guest::tr("Seeking file \"%s\" failed; offset = %RU64 (%Rrc)"),
    299                                                                          aTask->strSource.c_str(), cbTransferedTotal, vrc);
     313                                    rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     314                                                                        Guest::tr("Seeking file \"%s\" failed; offset = %RU64 (%Rrc)"),
     315                                                                        aTask->strSource.c_str(), cbTransferedTotal, vrc);
    300316                                    break;
    301317                                }
     
    324340                            if (FAILED(rc))
    325341                            {
    326                                 rc = GuestTask::setProgressErrorInfo(rc, aTask->pProgress, pGuest);
     342                                rc = GuestTask::setProgressErrorParent(rc, aTask->pProgress, pGuest);
    327343                                break;
    328344                            }
     
    348364                                && fCanceled)
    349365                            {
    350                                 rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    351                                                                      Guest::tr("Copy operation of file \"%s\" was canceled on guest side"),
    352                                                                      aTask->strSource.c_str());
     366                                rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     367                                                                    Guest::tr("Copy operation of file \"%s\" was canceled on guest side"),
     368                                                                    aTask->strSource.c_str());
    353369                                break;
    354370                            }
     
    368384                            if (FAILED(rc))
    369385                            {
    370                                 rc = GuestTask::setProgressErrorInfo(rc, aTask->pProgress, pGuest);
     386                                rc = GuestTask::setProgressErrorParent(rc, aTask->pProgress, pGuest);
    371387                            }
    372388                            else
     
    375391                                    || retStatus    != ExecuteProcessStatus_TerminatedNormally)
    376392                                {
    377                                     rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    378                                                                          Guest::tr("Guest process reported error %u (status: %u) while copying file \"%s\" to \"%s\""),
    379                                                                          uRetExitCode, retStatus, aTask->strSource.c_str(), aTask->strDest.c_str());
     393                                    rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     394                                                                        Guest::tr("Guest process reported error %u (status: %u) while copying file \"%s\" to \"%s\""),
     395                                                                        uRetExitCode, retStatus, aTask->strSource.c_str(), aTask->strDest.c_str());
    380396                                }
    381397                            }
     
    390406                                 * notify the object with a complete event when it's canceled.
    391407                                 */
    392                                 aTask->pProgress->notifyComplete(VBOX_E_IPRT_ERROR,
    393                                                                 COM_IIDOF(IGuest),
    394                                                                 Guest::getStaticComponentName(),
    395                                                                 Guest::tr("Copying file \"%s\" canceled"), aTask->strSource.c_str());
     408                                rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     409                                                                    Guest::tr("Copying file \"%s\" to guest canceled"),
     410                                                                    aTask->strSource.c_str());
    396411                            }
    397412                            else
     
    406421                                    /* If nothing was transfered but the file size was > 0 then "vbox_cat" wasn't able to write
    407422                                     * to the destination -> access denied. */
    408                                     rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    409                                                                          Guest::tr("Access denied when copying file \"%s\" to \"%s\""),
    410                                                                          aTask->strSource.c_str(), aTask->strDest.c_str());
     423                                    rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     424                                                                        Guest::tr("Access denied when copying file \"%s\" to \"%s\""),
     425                                                                        aTask->strSource.c_str(), aTask->strDest.c_str());
    411426                                }
    412427                                else if (cbTransferedTotal < cbSize)
    413428                                {
    414429                                    /* If we did not copy all let the user know. */
    415                                     rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    416                                                                          Guest::tr("Copying file \"%s\" failed (%u/%u bytes transfered)"),
    417                                                                          aTask->strSource.c_str(), cbTransferedTotal, cbSize);
     430                                    rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     431                                                                        Guest::tr("Copying file \"%s\" failed (%u/%u bytes transfered)"),
     432                                                                        aTask->strSource.c_str(), cbTransferedTotal, cbSize);
    418433                                }
    419434                                else /* Yay, all went fine! */
    420                                     aTask->pProgress->notifyComplete(S_OK);
     435                                    rc = GuestTask::setProgressSuccess(aTask->pProgress);
    421436                            }
    422437                        }
     
    468483        {
    469484            if (!fFileExists)
    470                 rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    471                                                      Guest::tr("Source file \"%s\" does not exist, or is not a file"),
    472                                                      aTask->strSource.c_str());
     485                rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     486                                                    Guest::tr("Source file \"%s\" does not exist, or is not a file"),
     487                                                    aTask->strSource.c_str());
    473488        }
    474489        else
    475             rc = GuestTask::setProgressErrorInfo(rc, aTask->pProgress, pGuest);
     490            rc = GuestTask::setProgressErrorParent(rc, aTask->pProgress, pGuest);
    476491
    477492        /* Query file size to make an estimate for our progress object. */
     
    483498                                       &lFileSize);
    484499            if (FAILED(rc))
    485                 rc = GuestTask::setProgressErrorInfo(rc, aTask->pProgress, pGuest);
     500                rc = GuestTask::setProgressErrorParent(rc, aTask->pProgress, pGuest);
    486501
    487502            com::SafeArray<IN_BSTR> args;
     
    494509                 */
    495510                char szSource[RTPATH_MAX];
    496                 if (RTStrPrintf(szSource, sizeof(szSource), "%s", aTask->strSource.c_str()) <= sizeof(szSource) - 1)
     511                size_t cchSource = RTStrPrintf(szSource, sizeof(szSource), "%s", aTask->strSource.c_str());
     512                if (cchSource && cchSource <= sizeof(szSource) - 1)
    497513                {
    498514                    /*
     
    514530                }
    515531                else
    516                     rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    517                                                          Guest::tr("Error preparing command line"));
     532                    rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     533                                                        Guest::tr("Source file \"%s\" too long (%ubytes)"),
     534                                                        aTask->strSource.c_str(), cchSource);
    518535            }
    519536
     
    540557                                                   execProgress.asOutParam(), &uPID);
    541558                if (FAILED(rc))
    542                     rc = GuestTask::setProgressErrorInfo(rc, aTask->pProgress, pGuest);
     559                    rc = GuestTask::setProgressErrorParent(rc, aTask->pProgress, pGuest);
    543560            }
    544561
     
    552569                                     RTFILE_O_WRITE | RTFILE_O_OPEN_CREATE | RTFILE_O_DENY_WRITE);
    553570                if (RT_FAILURE(vrc))
    554                     rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    555                                                          Guest::tr("Unable to create/open destination file \"%s\", rc=%Rrc"),
    556                                                          aTask->strDest.c_str(), vrc);
     571                    rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     572                                                        Guest::tr("Unable to create/open destination file \"%s\", rc=%Rrc"),
     573                                                        aTask->strDest.c_str(), vrc);
    557574                else
    558575                {
     
    575592                                if (RT_FAILURE(vrc))
    576593                                {
    577                                     rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    578                                                                          Guest::tr("Error writing to file \"%s\" (%u bytes left), rc=%Rrc"),
    579                                                                          aTask->strSource.c_str(), cbToRead, vrc);
     594                                    rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     595                                                                        Guest::tr("Error writing to file \"%s\" (%u bytes left), rc=%Rrc"),
     596                                                                        aTask->strSource.c_str(), cbToRead, vrc);
    580597                                    break;
    581598                                }
     
    592609                        else
    593610                        {
    594                             rc = GuestTask::setProgressErrorInfo(rc, aTask->pProgress, pGuest);
     611                            rc = GuestTask::setProgressErrorParent(rc, aTask->pProgress, pGuest);
    595612                            break;
    596613                        }
     
    609626                             * be (almost) sure that this file is not meant to be read by the specified user.
    610627                             */
    611                             rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    612                                                                  Guest::tr("Unexpected end of file \"%s\" (%u bytes total, %u bytes transferred)"),
    613                                                                  aTask->strSource.c_str(), lFileSize, cbTransfered);
     628                            rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     629                                                                Guest::tr("Unexpected end of file \"%s\" (%u bytes total, %u bytes transferred)"),
     630                                                                aTask->strSource.c_str(), lFileSize, cbTransfered);
    614631                        }
    615632
    616633                        if (SUCCEEDED(rc))
    617                             aTask->pProgress->notifyComplete(S_OK);
     634                            rc = GuestTask::setProgressSuccess(aTask->pProgress);
    618635                    }
    619636                }
     
    679696            }
    680697            else /* Everything else is not supported (yet). */
    681                 throw GuestTask::setProgressErrorInfo(VBOX_E_NOT_SUPPORTED, aTask->pProgress,
     698                throw GuestTask::setProgressErrorMsg(VBOX_E_NOT_SUPPORTED, aTask->pProgress,
    682699                                                      Guest::tr("Detected guest OS (%s) does not support automatic Guest Additions updating, please update manually"),
    683700                                                      osTypeIdUtf8.c_str());
    684701        }
    685702        else
    686             throw GuestTask::setProgressErrorInfo(VBOX_E_NOT_SUPPORTED, aTask->pProgress,
     703            throw GuestTask::setProgressErrorMsg(VBOX_E_NOT_SUPPORTED, aTask->pProgress,
    687704                                                  Guest::tr("Could not detected guest OS type/version, please update manually"));
    688705        Assert(!installerImage.isEmpty());
     
    695712        if (RT_FAILURE(vrc))
    696713        {
    697             rc = GuestTask::setProgressErrorInfo(VBOX_E_FILE_ERROR, aTask->pProgress,
    698                                                  Guest::tr("Invalid installation medium detected: \"%s\""),
    699                                                  aTask->strSource.c_str());
     714            rc = GuestTask::setProgressErrorMsg(VBOX_E_FILE_ERROR, aTask->pProgress,
     715                                                Guest::tr("Invalid installation medium detected: \"%s\""),
     716                                                aTask->strSource.c_str());
    700717        }
    701718        else
     
    710727                vrc = RTFileSeek(iso.file, cbOffset, RTFILE_SEEK_BEGIN, NULL);
    711728                if (RT_FAILURE(vrc))
    712                     rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    713                                                          Guest::tr("Could not seek to setup file on installation medium \"%s\" (%Rrc)"),
    714                                                          aTask->strSource.c_str(), vrc);
     729                    rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     730                                                        Guest::tr("Could not seek to setup file on installation medium \"%s\" (%Rrc)"),
     731                                                        aTask->strSource.c_str(), vrc);
    715732            }
    716733            else
     
    719736                {
    720737                    case VERR_FILE_NOT_FOUND:
    721                         rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    722                                                              Guest::tr("Setup file was not found on installation medium \"%s\""),
    723                                                              aTask->strSource.c_str());
     738                        rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     739                                                            Guest::tr("Setup file was not found on installation medium \"%s\""),
     740                                                            aTask->strSource.c_str());
    724741                        break;
    725742
    726743                    default:
    727                         rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    728                                                              Guest::tr("An unknown error (%Rrc) occured while retrieving information of setup file on installation medium \"%s\""),
    729                                                              vrc, aTask->strSource.c_str());
     744                        rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     745                                                            Guest::tr("An unknown error (%Rrc) occured while retrieving information of setup file on installation medium \"%s\""),
     746                                                            vrc, aTask->strSource.c_str());
    730747                        break;
    731748                }
     
    780797                            case VERR_NOT_FOUND:
    781798                                LogRel(("Guest Additions seem not to be installed yet\n"));
    782                                 rc = GuestTask::setProgressErrorInfo(VBOX_E_NOT_SUPPORTED, aTask->pProgress,
    783                                                                      Guest::tr("Guest Additions seem not to be installed or are not ready to update yet"));
     799                                rc = GuestTask::setProgressErrorMsg(VBOX_E_NOT_SUPPORTED, aTask->pProgress,
     800                                                                    Guest::tr("Guest Additions seem not to be installed or are not ready to update yet"));
    784801                                break;
    785802
     
    788805                            case VERR_INVALID_PARAMETER:
    789806                                LogRel(("Guest Additions are installed but don't supported automatic updating\n"));
    790                                 rc = GuestTask::setProgressErrorInfo(VBOX_E_NOT_SUPPORTED, aTask->pProgress,
    791                                                                      Guest::tr("Installed Guest Additions do not support automatic updating"));
     807                                rc = GuestTask::setProgressErrorMsg(VBOX_E_NOT_SUPPORTED, aTask->pProgress,
     808                                                                    Guest::tr("Installed Guest Additions do not support automatic updating"));
    792809                                break;
    793810
    794811                            case VERR_TIMEOUT:
    795812                                LogRel(("Guest was unable to start copying the Guest Additions setup within time\n"));
    796                                 rc = GuestTask::setProgressErrorInfo(E_FAIL, aTask->pProgress,
    797                                                                      Guest::tr("Guest was unable to start copying the Guest Additions setup within time"));
     813                                rc = GuestTask::setProgressErrorMsg(E_FAIL, aTask->pProgress,
     814                                                                    Guest::tr("Guest was unable to start copying the Guest Additions setup within time"));
    798815                                break;
    799816
    800817                            default:
    801                                 rc = GuestTask::setProgressErrorInfo(E_FAIL, aTask->pProgress,
    802                                                                      Guest::tr("Error copying Guest Additions setup file to guest path \"%s\" (%Rrc)"),
    803                                                                      strInstallerPath.c_str(), vrc);
     818                                rc = GuestTask::setProgressErrorMsg(E_FAIL, aTask->pProgress,
     819                                                                    Guest::tr("Error copying Guest Additions setup file to guest path \"%s\" (%Rrc)"),
     820                                                                    strInstallerPath.c_str(), vrc);
    804821                                break;
    805822                        }
     
    854871                                    if (FAILED(rc))
    855872                                    {
    856                                         rc = GuestTask::setProgressErrorInfo(rc, aTask->pProgress, pGuest);
     873                                        rc = GuestTask::setProgressErrorParent(rc, aTask->pProgress, pGuest);
    857874                                        break;
    858875                                    }
     
    870887                                else if (RT_FAILURE(vrc))
    871888                                {
    872                                     rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    873                                                                          Guest::tr("Error while reading setup file \"%s\" (To read: %u, Size: %u) from installation medium (%Rrc)"),
    874                                                                          installerImage.c_str(), cbToRead, cbLength, vrc);
     889                                    rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     890                                                                        Guest::tr("Error while reading setup file \"%s\" (To read: %u, Size: %u) from installation medium (%Rrc)"),
     891                                                                        installerImage.c_str(), cbToRead, cbLength, vrc);
    875892                                }
    876893                            }
     
    943960                     * complete the progress object now so that the caller can do other work. */
    944961                    if (aTask->uFlags & AdditionsUpdateFlag_WaitForUpdateStartOnly)
    945                         aTask->pProgress->notifyComplete(S_OK);
     962                    {
     963                        rc = GuestTask::setProgressSuccess(aTask->pProgress);
     964                        ComAssertRC(rc);
     965                    }
    946966                    else
    947967                        aTask->pProgress->SetCurrentOperationProgress(70);
     
    978998                                if (   SUCCEEDED(aTask->pProgress->COMGETTER(Completed(&fCompleted)))
    979999                                    && !fCompleted)
    980                                     aTask->pProgress->notifyComplete(S_OK);
     1000                                {
     1001                                    rc = GuestTask::setProgressSuccess(aTask->pProgress);
     1002                                }
    9811003                            }
    9821004                            else
     
    9841006                                LogRel(("Guest Additions update failed (Exit code=%u, Status=%u, Flags=%u)\n",
    9851007                                        uRetExitCode, retStatus, uRetFlags));
    986                                 rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    987                                                                      Guest::tr("Guest Additions update failed with exit code=%u (status=%u, flags=%u)"),
    988                                                                      uRetExitCode, retStatus, uRetFlags);
     1008                                rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     1009                                                                    Guest::tr("Guest Additions update failed with exit code=%u (status=%u, flags=%u)"),
     1010                                                                    uRetExitCode, retStatus, uRetFlags);
    9891011                            }
    9901012                        }
     
    9931015                        {
    9941016                            LogRel(("Guest Additions update was canceled\n"));
    995                             rc = GuestTask::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->pProgress,
    996                                                                  Guest::tr("Guest Additions update was canceled by the guest with exit code=%u (status=%u, flags=%u)"),
    997                                                                  uRetExitCode, retStatus, uRetFlags);
     1017                            rc = GuestTask::setProgressErrorMsg(VBOX_E_IPRT_ERROR, aTask->pProgress,
     1018                                                                Guest::tr("Guest Additions update was canceled by the guest with exit code=%u (status=%u, flags=%u)"),
     1019                                                                uRetExitCode, retStatus, uRetFlags);
    9981020                        }
    9991021                        else
     
    10031025                    }
    10041026                    else
    1005                         rc = GuestTask::setProgressErrorInfo(rc, aTask->pProgress, pGuest);
     1027                        rc = GuestTask::setProgressErrorParent(rc, aTask->pProgress, pGuest);
    10061028                }
    10071029                else
    1008                     rc = GuestTask::setProgressErrorInfo(rc, aTask->pProgress, pGuest);
     1030                    rc = GuestTask::setProgressErrorParent(rc, aTask->pProgress, pGuest);
    10091031            }
    10101032        }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette