mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-25 18:55:27 -06:00
viewers: Only use openGraphics if supported
This commit is contained in:
parent
7cc6141618
commit
e30671b53d
@ -1116,12 +1116,7 @@ class vmmDomain(vmmLibvirtObject):
|
||||
return self._backend.openConsole(devname, stream, flags)
|
||||
|
||||
def open_graphics_fd(self):
|
||||
try:
|
||||
fd = self._backend.openGraphicsFD(0)
|
||||
except libvirt.libvirtError:
|
||||
logging.debug("openGraphicsFD failed", exc_info=True)
|
||||
fd = -1
|
||||
return fd
|
||||
return self._backend.openGraphicsFD(0)
|
||||
|
||||
def refresh_snapshots(self):
|
||||
self._snapshot_list = None
|
||||
|
@ -139,11 +139,20 @@ class Viewer(vmmGObject):
|
||||
def _get_fd_for_open(self):
|
||||
if self._ginfo.need_tunnel():
|
||||
return self._tunnels.open_new()
|
||||
|
||||
if self._vm.conn.is_remote():
|
||||
# OpenGraphics only works for local libvirtd connections
|
||||
return None
|
||||
|
||||
if not self._vm.conn.check_support(
|
||||
self._vm.conn.SUPPORT_DOMAIN_OPEN_GRAPHICS):
|
||||
return None
|
||||
|
||||
return self._vm.open_graphics_fd()
|
||||
|
||||
def _open(self):
|
||||
fd = self._get_fd_for_open()
|
||||
if fd != -1:
|
||||
if fd is not None:
|
||||
self._open_fd(fd)
|
||||
else:
|
||||
self._open_host()
|
||||
|
@ -349,6 +349,8 @@ SUPPORT_DOMAIN_GET_METADATA = _make(function="virDomain.metadata",
|
||||
SUPPORT_DOMAIN_MEMORY_STATS = _make(
|
||||
function="virDomain.memoryStats", run_args=())
|
||||
SUPPORT_DOMAIN_STATE = _make(function="virDomain.state", run_args=())
|
||||
SUPPORT_DOMAIN_OPEN_GRAPHICS = _make(function="virDomain.openGraphicsFD",
|
||||
version="1.2.8", hv_version={"qemu": 0})
|
||||
|
||||
|
||||
###############
|
||||
|
Loading…
Reference in New Issue
Block a user