diff --git a/src/parallels/parallels_sdk.c b/src/parallels/parallels_sdk.c index 2a4450413e..553a8775d6 100644 --- a/src/parallels/parallels_sdk.c +++ b/src/parallels/parallels_sdk.c @@ -1312,6 +1312,12 @@ prlsdkLoadDomain(parallelsConnPtr privconn, *s = '\0'; } + pret = PrlVmCfg_GetAutoStart(sdkdom, &autostart); + prlsdkCheckRetGoto(pret, error); + + if (prlsdkGetDomainState(sdkdom, &domainState) < 0) + goto error; + if (virDomainDefAddImplicitControllers(def) < 0) goto error; @@ -1349,15 +1355,6 @@ prlsdkLoadDomain(parallelsConnPtr privconn, dom->privateDataFreeFunc = prlsdkDomObjFreePrivate; dom->persistent = 1; - if (prlsdkGetDomainState(sdkdom, &domainState) < 0) - goto error; - - if (prlsdkConvertDomainState(domainState, envId, dom) < 0) - goto error; - - pret = PrlVmCfg_GetAutoStart(sdkdom, &autostart); - prlsdkCheckRetGoto(pret, error); - switch (autostart) { case PAO_VM_START_ON_LOAD: dom->autostart = 1; @@ -1371,6 +1368,9 @@ prlsdkLoadDomain(parallelsConnPtr privconn, goto error; } + if (prlsdkConvertDomainState(domainState, envId, dom) < 0) + goto error; + if (!pdom->sdkdom) { pret = PrlHandle_AddRef(sdkdom); prlsdkCheckRetGoto(pret, error);