Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiovanni Panozzo <giovanni@panozzo.it>2014-10-08 16:23:17 +0400
committerGiovanni Panozzo <giovanni@panozzo.it>2014-10-08 16:23:17 +0400
commit141a25f170d5c3bbdaed3607e1e415220cb15b3c (patch)
treec9ee7110c336be2d641067b55deb5a0680ef9f09
parentffb79aeda41a36abffdaf6cf4fea85eead63b604 (diff)
parent4ec2355b618a7a6fdf87382a1770737c26863107 (diff)
Merge pull request #352 from giox069/nextv1.2.0-rcgit.1
Fix issue #90 and website URL
-rw-r--r--remmina-plugins/vnc/vnc_plugin.c18
-rw-r--r--remmina/po/it.po1
-rw-r--r--remmina/src/remmina_about.c2
3 files changed, 18 insertions, 3 deletions
diff --git a/remmina-plugins/vnc/vnc_plugin.c b/remmina-plugins/vnc/vnc_plugin.c
index 9d0cf9f8f..fb7a434f6 100644
--- a/remmina-plugins/vnc/vnc_plugin.c
+++ b/remmina-plugins/vnc/vnc_plugin.c
@@ -1510,7 +1510,9 @@ static gboolean remmina_plugin_vnc_on_key(GtkWidget *widget, GdkEventKey *event,
RemminaPluginVncData *gpdata;
RemminaFile *remminafile;
RemminaKeyVal *k;
+ guint event_keyval;
guint keyval;
+ int i;
gpdata = (RemminaPluginVncData*) g_object_get_data(G_OBJECT(gp), "plugin-data");
if (!gpdata->connected || !gpdata->client)
@@ -1519,8 +1521,22 @@ static gboolean remmina_plugin_vnc_on_key(GtkWidget *widget, GdkEventKey *event,
if (remmina_plugin_service->file_get_int(remminafile, "viewonly", FALSE))
return FALSE;
+ /* When sending key release, try first to find out a previously sent keyval
+ to workaround bugs like https://bugs.freedesktop.org/show_bug.cgi?id=7430 */
+
+ event_keyval = event->keyval;
+ if ( event->type == GDK_KEY_RELEASE ) {
+ for (i = 0; i < gpdata->pressed_keys->len; i++) {
+ k = g_ptr_array_index(gpdata->pressed_keys, i);
+ if ( k->keycode == event->hardware_keycode ) {
+ event_keyval = k->keyval;
+ break;
+ }
+ }
+ }
+
keyval = remmina_plugin_service->pref_keymap_get_keyval(remmina_plugin_service->file_get_string(remminafile, "keymap"),
- event->keyval);
+ event_keyval);
remmina_plugin_vnc_event_push(gp, REMMINA_PLUGIN_VNC_EVENT_KEY, GUINT_TO_POINTER(keyval),
GINT_TO_POINTER(event->type == GDK_KEY_PRESS ? TRUE : FALSE), NULL);
diff --git a/remmina/po/it.po b/remmina/po/it.po
index 2589cf055..28d5be052 100644
--- a/remmina/po/it.po
+++ b/remmina/po/it.po
@@ -532,7 +532,6 @@ msgstr ""
" Gianfranco Frisani https://launchpad.net/~gfrisani\n"
" Luca Falavigna https://launchpad.net/~dktrkranz\n"
" Milo Casagrande https://launchpad.net/~milo\n"
-" Vic https://launchpad.net/~llyzs\n"
" mrktt77 https://launchpad.net/~marketto"
#: remmina/src/remmina_chat_window.c:178
diff --git a/remmina/src/remmina_about.c b/remmina/src/remmina_about.c
index 14b59c5c5..b8e18420a 100644
--- a/remmina/src/remmina_about.c
+++ b/remmina/src/remmina_about.c
@@ -89,7 +89,7 @@ void remmina_about_open(GtkWindow* parent)
gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(dialog), _("The GTK+ Remote Desktop Client")), gtk_about_dialog_set_license(
GTK_ABOUT_DIALOG(dialog), license);
gtk_about_dialog_set_wrap_license(GTK_ABOUT_DIALOG(dialog), TRUE);
- gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(dialog), "https://github.com/FreeRDP/Remmina/wiki");
+ gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(dialog), "http://freerdp.github.io/Remmina/");
gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(dialog), authors);
gtk_about_dialog_set_artists(GTK_ABOUT_DIALOG(dialog), artists);
gtk_about_dialog_set_translator_credits(GTK_ABOUT_DIALOG(dialog), _("translator-credits"));