vnc.c (2c94822167672597d870dbeed9ffc95ea2bf93d3) vnc.c (a75d6f07613af7ec5b016b31b117436e32ce7a5f)
1/*
2 * QEMU VNC display driver
3 *
4 * Copyright (C) 2006 Anthony Liguori <anthony@codemonkey.ws>
5 * Copyright (C) 2006 Fabrice Bellard
6 * Copyright (C) 2009 Red Hat, Inc
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a copy

--- 1108 unchanged lines hidden (view full) ---

1117{
1118 if (vs->disconnecting) {
1119 return;
1120 }
1121 trace_vnc_client_disconnect_start(vs, vs->ioc);
1122 vnc_set_share_mode(vs, VNC_SHARE_MODE_DISCONNECTED);
1123 if (vs->ioc_tag) {
1124 g_source_remove(vs->ioc_tag);
1/*
2 * QEMU VNC display driver
3 *
4 * Copyright (C) 2006 Anthony Liguori <anthony@codemonkey.ws>
5 * Copyright (C) 2006 Fabrice Bellard
6 * Copyright (C) 2009 Red Hat, Inc
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a copy

--- 1108 unchanged lines hidden (view full) ---

1117{
1118 if (vs->disconnecting) {
1119 return;
1120 }
1121 trace_vnc_client_disconnect_start(vs, vs->ioc);
1122 vnc_set_share_mode(vs, VNC_SHARE_MODE_DISCONNECTED);
1123 if (vs->ioc_tag) {
1124 g_source_remove(vs->ioc_tag);
1125 vs->ioc_tag = 0;
1125 }
1126 qio_channel_close(vs->ioc, NULL);
1127 vs->disconnecting = TRUE;
1128}
1129
1130void vnc_disconnect_finish(VncState *vs)
1131{
1132 int i;

--- 1796 unchanged lines hidden (view full) ---

2929 vs->lossy_rect = g_malloc0(VNC_STAT_ROWS * sizeof (*vs->lossy_rect));
2930 for (i = 0; i < VNC_STAT_ROWS; ++i) {
2931 vs->lossy_rect[i] = g_new0(uint8_t, VNC_STAT_COLS);
2932 }
2933
2934 VNC_DEBUG("New client on socket %p\n", vs->sioc);
2935 update_displaychangelistener(&vd->dcl, VNC_REFRESH_INTERVAL_BASE);
2936 qio_channel_set_blocking(vs->ioc, false, NULL);
1126 }
1127 qio_channel_close(vs->ioc, NULL);
1128 vs->disconnecting = TRUE;
1129}
1130
1131void vnc_disconnect_finish(VncState *vs)
1132{
1133 int i;

--- 1796 unchanged lines hidden (view full) ---

2930 vs->lossy_rect = g_malloc0(VNC_STAT_ROWS * sizeof (*vs->lossy_rect));
2931 for (i = 0; i < VNC_STAT_ROWS; ++i) {
2932 vs->lossy_rect[i] = g_new0(uint8_t, VNC_STAT_COLS);
2933 }
2934
2935 VNC_DEBUG("New client on socket %p\n", vs->sioc);
2936 update_displaychangelistener(&vd->dcl, VNC_REFRESH_INTERVAL_BASE);
2937 qio_channel_set_blocking(vs->ioc, false, NULL);
2938 if (vs->ioc_tag) {
2939 g_source_remove(vs->ioc_tag);
2940 }
2937 if (websocket) {
2938 vs->websocket = 1;
2939 if (vd->tlscreds) {
2940 vs->ioc_tag = qio_channel_add_watch(
2941 vs->ioc, G_IO_IN, vncws_tls_handshake_io, vs, NULL);
2942 } else {
2943 vs->ioc_tag = qio_channel_add_watch(
2944 vs->ioc, G_IO_IN, vncws_handshake_io, vs, NULL);

--- 1137 unchanged lines hidden ---
2941 if (websocket) {
2942 vs->websocket = 1;
2943 if (vd->tlscreds) {
2944 vs->ioc_tag = qio_channel_add_watch(
2945 vs->ioc, G_IO_IN, vncws_tls_handshake_io, vs, NULL);
2946 } else {
2947 vs->ioc_tag = qio_channel_add_watch(
2948 vs->ioc, G_IO_IN, vncws_handshake_io, vs, NULL);

--- 1137 unchanged lines hidden ---