summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/red_client.cpp1
-rw-r--r--client/red_window.h2
-rw-r--r--client/screen.cpp2
-rw-r--r--client/windows/red_window.cpp2
-rw-r--r--client/x11/red_window.cpp2
-rw-r--r--server/red_parse_qxl.c6
-rw-r--r--server/red_parse_qxl.h18
-rw-r--r--server/spicevmc.c6
8 files changed, 21 insertions, 18 deletions
diff --git a/client/red_client.cpp b/client/red_client.cpp
index 2f6c6ce7..f3da4c92 100644
--- a/client/red_client.cpp
+++ b/client/red_client.cpp
@@ -274,7 +274,6 @@ void* Migrate::worker_main(void *data)
void Migrate::start(const SpiceMsgMainMigrationBegin* migrate)
{
- std::string cert_subject;
uint32_t peer_major;
uint32_t peer_minor;
diff --git a/client/red_window.h b/client/red_window.h
index 1c7237b1..82353aa1 100644
--- a/client/red_window.h
+++ b/client/red_window.h
@@ -66,7 +66,7 @@ public:
void set_cursor(LocalCursor* local_cursor);
void hide_cursor();
void show_cursor();
- void cupture_mouse();
+ void capture_mouse();
void release_mouse();
void start_key_interception();
void stop_key_interception();
diff --git a/client/screen.cpp b/client/screen.cpp
index cd744ef6..a0dc0dfa 100644
--- a/client/screen.cpp
+++ b/client/screen.cpp
@@ -538,7 +538,7 @@ void RedScreen::capture_mouse()
_mouse_captured = true;
_window.hide_cursor();
reset_mouse_pos();
- _window.cupture_mouse();
+ _window.capture_mouse();
}
void RedScreen::relase_mouse()
diff --git a/client/windows/red_window.cpp b/client/windows/red_window.cpp
index e436f833..981fe9a5 100644
--- a/client/windows/red_window.cpp
+++ b/client/windows/red_window.cpp
@@ -695,7 +695,7 @@ bool RedWindow::get_mouse_anchor_point(SpicePoint& pt)
return true;
}
-void RedWindow::cupture_mouse()
+void RedWindow::capture_mouse()
{
RECT client_rect;
POINT origin;
diff --git a/client/x11/red_window.cpp b/client/x11/red_window.cpp
index 86ddd3bd..2d179f89 100644
--- a/client/x11/red_window.cpp
+++ b/client/x11/red_window.cpp
@@ -1867,7 +1867,7 @@ void RedWindow::release_mouse()
sync(true);
}
-void RedWindow::cupture_mouse()
+void RedWindow::capture_mouse()
{
int grab_retries = MOUSE_GRAB_RETRIES;
XLockDisplay(x_display);
diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c
index 7737c047..743a82d2 100644
--- a/server/red_parse_qxl.c
+++ b/server/red_parse_qxl.c
@@ -7,10 +7,10 @@
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
- This program is distributed in the hope that it will be useful,
+ This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, see <http://www.gnu.org/licenses/>.
diff --git a/server/red_parse_qxl.h b/server/red_parse_qxl.h
index 93978522..c2edfb92 100644
--- a/server/red_parse_qxl.h
+++ b/server/red_parse_qxl.h
@@ -2,18 +2,18 @@
/*
Copyright (C) 2009,2010 Red Hat, Inc.
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
- This program is distributed in the hope that it will be useful,
+ This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
#ifndef RED_ABI_TRANSLATE_H
diff --git a/server/spicevmc.c b/server/spicevmc.c
index 85809840..b1a7d8dc 100644
--- a/server/spicevmc.c
+++ b/server/spicevmc.c
@@ -99,7 +99,11 @@ static void spicevmc_red_channel_client_on_disconnect(RedChannelClient *rcc)
sin = state->chardev_sin;
sif = SPICE_CONTAINEROF(sin->base.sif, SpiceCharDeviceInterface, base);
- red_channel_client_destroy(rcc);
+ /* Don't destroy the rcc if the entire client is disconnecting, as then
+ red_client_destroy will already do this! */
+ if (!rcc->client->disconnecting)
+ red_channel_client_destroy(rcc);
+
state->rcc = NULL;
if (sif->state) {
sif->state(sin, 0);