diff options
-rw-r--r-- | client/red_client.cpp | 1 | ||||
-rw-r--r-- | client/red_window.h | 2 | ||||
-rw-r--r-- | client/screen.cpp | 2 | ||||
-rw-r--r-- | client/windows/red_window.cpp | 2 | ||||
-rw-r--r-- | client/x11/red_window.cpp | 2 | ||||
-rw-r--r-- | server/red_parse_qxl.c | 6 | ||||
-rw-r--r-- | server/red_parse_qxl.h | 18 | ||||
-rw-r--r-- | server/spicevmc.c | 6 |
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); |