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:15:31 +0400
committerGiovanni Panozzo <giovanni@panozzo.it>2014-10-08 16:15:31 +0400
commit3501fee44d39f58415bc649f9006d09d551ad993 (patch)
tree841786ce20f660807984596da51a28fdbe86b050
parente2ab9bd200d24a8b0fdf39d98ba94542069b300f (diff)
parente5fe4bb2479cf0922e380519ba21b95ddc5d7ba1 (diff)
Merge pull request #351 from giox069/master
Fix issue #90 and various updates
-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"));