]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu_process: merge graphics code into qemuProcessSetupGraphics
authorPavel Hrdina <phrdina@redhat.com>
Mon, 9 May 2016 12:52:52 +0000 (14:52 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Tue, 10 May 2016 08:44:45 +0000 (10:44 +0200)
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
src/qemu/qemu_process.c

index 3d466951401eadb7f5141d19d0fb14d017ed8893..eddf3a7b095b763e9746905510456d239f4e2ec7 100644 (file)
@@ -4402,16 +4402,21 @@ qemuProcessSetupGraphics(virQEMUDriverPtr driver,
 
     for (i = 0; i < vm->def->ngraphics; ++i) {
         virDomainGraphicsDefPtr graphics = vm->def->graphics[i];
+        char *listenAddr = NULL;
 
         switch (graphics->type) {
         case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
             if (qemuProcessVNCAllocatePorts(driver, graphics, allocate) < 0)
                 goto cleanup;
+
+            listenAddr = cfg->vncListen;
             break;
 
         case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
             if (qemuProcessSPICEAllocatePorts(driver, cfg, graphics, allocate) < 0)
                 goto cleanup;
+
+            listenAddr = cfg->spiceListen;
             break;
 
         case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
@@ -4420,6 +4425,14 @@ qemuProcessSetupGraphics(virQEMUDriverPtr driver,
         case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
             break;
         }
+
+        if (graphics->nListens == 0 && listenAddr) {
+            if (virDomainGraphicsListenAppendAddress(graphics,
+                                                     listenAddr) < 0)
+                goto cleanup;
+
+            graphics->listens[0].fromConfig = true;
+        }
     }
 
     ret = 0;
@@ -5177,40 +5190,10 @@ qemuProcessPrepareDomain(virConnectPtr conn,
     if (qemuAssignDeviceAliases(vm->def, priv->qemuCaps) < 0)
         goto cleanup;
 
-    VIR_DEBUG("Setting up ports for graphics");
+    VIR_DEBUG("Setting graphics devices");
     if (qemuProcessSetupGraphics(driver, vm, flags) < 0)
         goto cleanup;
 
-    /* Fill in run-time values for graphics devices. */
-    for (i = 0; i < vm->def->ngraphics; i++) {
-        virDomainGraphicsDefPtr graphics = vm->def->graphics[i];
-        char *listenAddr = NULL;
-
-        switch (graphics->type) {
-        case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
-            listenAddr = cfg->vncListen;
-            break;
-
-        case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
-            listenAddr = cfg->spiceListen;
-            break;
-
-        case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
-        case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
-        case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
-        case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
-            break;
-        }
-
-        if (graphics->nListens == 0 && listenAddr) {
-            if (virDomainGraphicsListenAppendAddress(graphics,
-                                                     listenAddr) < 0)
-                goto cleanup;
-
-            graphics->listens[0].fromConfig = true;
-        }
-    }
-
     /* "volume" type disk's source must be translated before
      * cgroup and security setting.
      */