summary refs log tree commit diff stats
path: root/vnc.c
diff options
context:
space:
mode:
authorAnthony Liguori <aliguori@us.ibm.com>2009-05-20 13:01:02 -0500
committerAnthony Liguori <aliguori@us.ibm.com>2009-05-21 08:47:48 -0500
commitf92f8afebe038a4eae9ad90a140c9529f94919a6 (patch)
tree308194d45c392caffd3121af25cd9fd2f41d24e1 /vnc.c
parenteb0b64f7aa7f6f325aac878265ee9e6c2fc1bf51 (diff)
downloadfocaccia-qemu-f92f8afebe038a4eae9ad90a140c9529f94919a6.tar.gz
focaccia-qemu-f92f8afebe038a4eae9ad90a140c9529f94919a6.zip
Eliminate --disable-gfx-check and make VNC default when SDL not available
 --disable-gfx-check predates VNC server support.  It made sense back then
because the only thing you could do without SDL was use -nographic mode or
similar tricks.  Since this is a very advanced mode of operation, gfx-check
provided a good safety net for casual users.

A casual user is very likely to use VNC to interact with a guest.  In fact, it's
often frustrating to install QEMU on a server and have to specify
disable-gfx-check when you only want to use VNC.

This patch eliminates disable-gfx-check and makes SDL behave like every other
optional dependency.  If SDL is not available, instead of failing ungracefully
if no special options are specified, we default to -vnc localhost:0,to=99.
When we do default to VNC, we also print a message to tell the user that we've
done this include which port we're currently listening on.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'vnc.c')
-rw-r--r--vnc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/vnc.c b/vnc.c
index ad3c1ce151..3f5d622ab4 100644
--- a/vnc.c
+++ b/vnc.c
@@ -86,7 +86,6 @@ char *vnc_socket_local_addr(const char *format, int fd) {
     return addr_to_string(format, &sa, salen);
 }
 
-
 char *vnc_socket_remote_addr(const char *format, int fd) {
     struct sockaddr_storage sa;
     socklen_t salen;
@@ -2101,6 +2100,13 @@ int vnc_display_password(DisplayState *ds, const char *password)
     return 0;
 }
 
+char *vnc_display_local_addr(DisplayState *ds)
+{
+    VncDisplay *vs = ds ? (VncDisplay *)ds->opaque : vnc_display;
+    
+    return vnc_socket_local_addr("%s:%s", vs->lsock);
+}
+
 int vnc_display_open(DisplayState *ds, const char *display)
 {
     VncDisplay *vs = ds ? (VncDisplay *)ds->opaque : vnc_display;