diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2012-07-04 06:53:20 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2012-07-04 07:10:50 +0000 |
commit | b08586536fa0e97c546487364b342963a9ebc55a (patch) | |
tree | 86bd0e6d3791ae2f9bcf3ac8b80e688668a4d43f /main/remmina/remmina-1.0.0-disconnect-signal-handler-after-disconnect.patch | |
parent | a7c51f226a86345bd138dcccd1f23ac22c5a2a75 (diff) | |
download | aports-b08586536fa0e97c546487364b342963a9ebc55a.tar.bz2 aports-b08586536fa0e97c546487364b342963a9ebc55a.tar.xz |
main/remmina: add fixes for clipboard + install desktop file
Diffstat (limited to 'main/remmina/remmina-1.0.0-disconnect-signal-handler-after-disconnect.patch')
-rw-r--r-- | main/remmina/remmina-1.0.0-disconnect-signal-handler-after-disconnect.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/main/remmina/remmina-1.0.0-disconnect-signal-handler-after-disconnect.patch b/main/remmina/remmina-1.0.0-disconnect-signal-handler-after-disconnect.patch new file mode 100644 index 0000000000..dc4ae33310 --- /dev/null +++ b/main/remmina/remmina-1.0.0-disconnect-signal-handler-after-disconnect.patch @@ -0,0 +1,53 @@ +From c1ef3a162622942d7c556c5a4352e626c7bcb28f Mon Sep 17 00:00:00 2001 +From: Jean-Louis Dupond <jean-louis@dupond.be> +Date: Tue, 8 May 2012 14:44:16 +0200 +Subject: [PATCH] Disconnect signal handler after disconnect + +--- + remmina-plugins/rdp/rdp_event.c | 10 ++++++++-- + remmina-plugins/rdp/rdp_plugin.h | 1 + + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/remmina-plugins/rdp/rdp_event.c b/remmina-plugins/rdp/rdp_event.c +index a936fb1..2c050c6 100644 +--- a/remmina-plugins/rdp/rdp_event.c ++++ b/remmina-plugins/rdp/rdp_event.c +@@ -523,8 +523,7 @@ void remmina_rdp_event_init(RemminaProtocolWidget* gp) + if (!remmina_plugin_service->file_get_int(remminafile, "disableclipboard", FALSE)) + { + clipboard = gtk_widget_get_clipboard(rfi->drawing_area, GDK_SELECTION_CLIPBOARD); +- g_signal_connect(clipboard, "owner-change", +- G_CALLBACK(remmina_rdp_event_on_clipboard), gp); ++ rfi->clipboard_handler = g_signal_connect(clipboard, "owner-change", G_CALLBACK(remmina_rdp_event_on_clipboard), gp); + } + + rfi->pressed_keys = g_array_new(FALSE, TRUE, sizeof (gint)); +@@ -575,6 +574,13 @@ void remmina_rdp_event_uninit(RemminaProtocolWidget* gp) + + rfi = GET_DATA(gp); + ++ ++ /* unregister the clipboard monitor */ ++ if (rfi->clipboard_handler) ++ { ++ g_signal_handler_disconnect(G_OBJECT(gtk_widget_get_clipboard(rfi->drawing_area, GDK_SELECTION_CLIPBOARD)), rfi->clipboard_handler); ++ rfi->clipboard_handler = NULL; ++ } + if (rfi->scale_handler) + { + g_source_remove(rfi->scale_handler); +diff --git a/remmina-plugins/rdp/rdp_plugin.h b/remmina-plugins/rdp/rdp_plugin.h +index ff66906..08b8891 100644 +--- a/remmina-plugins/rdp/rdp_plugin.h ++++ b/remmina-plugins/rdp/rdp_plugin.h +@@ -134,6 +134,7 @@ struct rf_context + GAsyncQueue* event_queue; + gint event_pipe[2]; + ++ gint clipboard_handler; + gint clipboard_wait; + uint32 requested_format; + }; +-- +1.7.10 + |