diff --git a/.gitignore b/.gitignore index de1c7cd..ba9d331 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,4 @@ remmina-0.7.5.tar.gz /remmina-1.4.24.tar.gz /remmina-1.4.25.tar.gz /remmina-1.4.26.tar.gz +/remmina-1.4.27.tar.gz diff --git a/0001_paste_as_keystrokes_fix_git_partial_eb3d59fb.patch b/0001_paste_as_keystrokes_fix_git_partial_eb3d59fb.patch deleted file mode 100644 index 2005df9..0000000 --- a/0001_paste_as_keystrokes_fix_git_partial_eb3d59fb.patch +++ /dev/null @@ -1,86 +0,0 @@ -diff --git a/src/rcw.c b/src/rcw.c -index d4093d3b4d91142290015adde0c8dece083d8fcd..27eb3bad1b7a4f4fa49639bd5040d12bea0c138c 100644 ---- a/src/rcw.c -+++ b/src/rcw.c -@@ -2060,6 +2060,14 @@ static void rcw_toolbar_tools(GtkToolItem *toggle, RemminaConnectionWindow *cnnw - g_strfreev(keystroke_values); - } - menuitem = gtk_menu_item_new_with_label(_("Send clipboard content as keystrokes")); -+ static gchar k_tooltip[] = -+ N_("CAUTION! We send hardware codes from your local keyboard,\nmany characters can be different from the original text.\n" -+ "\n" -+ " • To get the best result, set the same keyboard on the client and server.\n" -+ "\n" -+ " • Non composable characters using your keyboard will not be transferred.\n" -+ "\n"); -+ gtk_widget_set_tooltip_text(menuitem, k_tooltip); - gtk_menu_shell_append(GTK_MENU_SHELL(submenu_keystrokes), menuitem); - g_signal_connect_swapped(G_OBJECT(menuitem), "activate", - G_CALLBACK(remmina_protocol_widget_send_clipboard), -diff --git a/src/remmina_protocol_widget.c b/src/remmina_protocol_widget.c -index 1c590b0fceaef6b024eb37d4d8ba2c9391b9976c..e4adfd2a6bc28b2d23ed5a17ae9c964fc141f139 100644 ---- a/src/remmina_protocol_widget.c -+++ b/src/remmina_protocol_widget.c -@@ -597,7 +597,7 @@ void remmina_protocol_widget_send_clip_strokes(GtkClipboard *clipboard, const gc - { - TRACE_CALL(__func__); - RemminaProtocolWidget *gp = REMMINA_PROTOCOL_WIDGET(data); -- gchar *text = g_strdup(clip_text); -+ gchar *text = g_utf8_normalize(clip_text, -1, G_NORMALIZE_DEFAULT_COMPOSE); - guint *keyvals; - gint i; - GdkKeymap *keymap = gdk_keymap_get_for_display(gdk_display_get_default()); -@@ -634,18 +634,22 @@ void remmina_protocol_widget_send_clip_strokes(GtkClipboard *clipboard, const gc - REMMINA_DEBUG("Text clipboard after replacement is \'%s\'", text); - } - gchar *iter = g_strdup(text); -+ REMMINA_DEBUG("Iter: %s", iter), - keyvals = (guint *)g_malloc(strlen(text)); - while (TRUE) { - /* Process each character in the keystrokes */ - character = g_utf8_get_char_validated(iter, -1); -+ REMMINA_DEBUG("Char: U+%04" G_GINT32_FORMAT"X", character); - if (character == 0) - break; - keyval = gdk_unicode_to_keyval(character); -+ REMMINA_DEBUG("Keyval: %u", keyval); - /* Replace all the special character with its keyval */ - for (i = 0; text_replaces[i].replace; i++) { - if (character == text_replaces[i].replace[0]) { - keys = g_new0(GdkKeymapKey, 1); - keyval = text_replaces[i].keyval; -+ REMMINA_DEBUG("Special Keyval: %u", keyval); - /* A special character was generated, no keyval lookup needed */ - character = 0; - break; -@@ -655,7 +659,7 @@ void remmina_protocol_widget_send_clip_strokes(GtkClipboard *clipboard, const gc - if (character) { - /* get keyval without modifications */ - if (!gdk_keymap_get_entries_for_keyval(keymap, keyval, &keys, &n_keys)) { -- g_warning("keyval 0x%04x has no keycode!", keyval); -+ REMMINA_WARNING("keyval 0x%04x has no keycode!", keyval); - iter = g_utf8_find_next_char(iter, NULL); - continue; - } -@@ -2111,6 +2115,7 @@ void remmina_protocol_widget_send_keys_signals(GtkWidget *widget, const guint *k - event.keyval = keyvals[i]; - event.hardware_keycode = remmina_public_get_keycode_for_keyval(keymap, event.keyval); - event.is_modifier = (int)remmina_public_get_modifier_for_keycode(keymap, event.hardware_keycode); -+ REMMINA_DEBUG("Sending keyval: %u, hardware_keycode: %u", event.keyval, event.hardware_keycode); - g_signal_emit_by_name(G_OBJECT(widget), "key-press-event", &event, &result); - } - } -diff --git a/src/remmina_public.c b/src/remmina_public.c -index 02ff5c7d997e132598583fe415149856fee90111..5c5c4640df669705be008db0e3103329d5e6092c 100644 ---- a/src/remmina_public.c -+++ b/src/remmina_public.c -@@ -541,7 +541,8 @@ guint16 remmina_public_get_keycode_for_keyval(GdkKeymap *keymap, guint keyval) - gboolean remmina_public_get_modifier_for_keycode(GdkKeymap *keymap, guint16 keycode) - { - TRACE_CALL(__func__); -- g_return_val_if_fail(keycode > 0, FALSE); -+ //g_return_val_if_fail(keycode > 0, FALSE); -+ if (keycode > 0) return FALSE; - #ifdef GDK_WINDOWING_X11 - return gdk_x11_keymap_key_is_modifier(keymap, keycode); - #else diff --git a/remmina.spec b/remmina.spec index 5a73d6d..750c36f 100644 --- a/remmina.spec +++ b/remmina.spec @@ -1,11 +1,11 @@ -%global release_commit_hash fa11b6d1c1f20922b594cc2a8c204f9ea6592836 +%global release_commit_hash 9d409a3556c8c2759a376b4f4ac5149db7aacf4f # Use old cmake macro behaviour. %define __cmake_in_source_build 1 Name: remmina -Version: 1.4.26 -Release: 3%{?dist} +Version: 1.4.27 +Release: 1%{?dist} Summary: Remote Desktop Client License: GPLv2+ and MIT URL: https://remmina.org @@ -18,9 +18,6 @@ Source0: https://gitlab.com/Remmina/Remmina/-/archive/v%{version}/Remmina-%{vers # So we can't use it directly only as instructions. Source1: pluginBuild-CMakeLists.txt -# Patches. -Patch0: 0001_paste_as_keystrokes_fix_git_partial_eb3d59fb.patch - BuildRequires: cmake BuildRequires: cups-devel BuildRequires: desktop-file-utils @@ -343,6 +340,13 @@ appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/*.appdat %{_mandir}/man1/remmina-gnome.1.* %changelog +* Mon Jun 20 2022 Phil Wyett - 1.4.27-1 +- New upstream version 1.4.27 +- Drop patches as no longer needed. + +* Mon Jun 13 2022 Python Maint - 1.4.26-4 +- Rebuilt for Python 3.11 + * Mon Jun 06 2022 Phil Wyett - 1.4.26-3 - Add patch: 0001_paste_as_keystrokes_fix_git_partial_eb3d59fb.patch - Add libssh BuildRequires minimum required version of 0.8.0. diff --git a/sources b/sources index b60aa4d..c3012f1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (remmina-1.4.26.tar.gz) = 4e1e2f4b4bbd14c037e3f93f1813156cdf8c425e553d2a34e44e90c18ba4e88e37a5e0942728926fcd50949972a39219e2d7449139edc46c1adfb59d20c8dd8f +SHA512 (remmina-1.4.27.tar.gz) = 3ed2a87c8229b03772a0a55cb66a1f71648d39d24467dde1e9546711295b9e06c06599fbf309ebb7c2eae4cdd4c0bd1b0dc2879b4dda412e90d0df272dd3cabd