Package: release.debian.org Severity: normal Tags: stretch User: release.debian.org@packages.debian.org Usertags: pu Hi, Please consider for stretch pu. debdiff attached. A functionality update that fixes severe application hangs when you mouse right click in the email composer window for spell checking or other available task. Original bug report upstream: https://bugzilla.gnome.org/show_bug.cgi?id=777086 Debian BTS bug, now closed: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=871626 Debian RFS, superseded by upload into unstable after 17 day wait and nobody stepped forward to sponsor: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=872022 Regards Phil -- *** If this is a mailing list, I am subscribed, no need to CC me.*** Playing the game for the games sake. Web: https://kathenas.org Twitter: kathenasorg Instagram: kathenasorg
diff -Nru evolution-3.22.6/debian/changelog evolution-3.22.6/debian/changelog --- evolution-3.22.6/debian/changelog 2017-03-13 23:51:12.000000000 +0000 +++ evolution-3.22.6/debian/changelog 2017-08-13 17:01:34.000000000 +0100 @@ -1,3 +1,11 @@ +evolution (3.22.6-1+deb9u1) stretch; urgency=normal + + * Non-maintainer upload. + * Added debian/patches/20_composer_hangs_right_click.patch. + - Backport patch from git - Fix hangs on right click in composer window. + + -- Phil Wyett <philwyett@kathenas.org> Sun, 13 Aug 2017 17:01:34 +0100 + evolution (3.22.6-1) unstable; urgency=medium * New upstream release. diff -Nru evolution-3.22.6/debian/patches/20_composer_hangs_right_click.patch evolution-3.22.6/debian/patches/20_composer_hangs_right_click.patch --- evolution-3.22.6/debian/patches/20_composer_hangs_right_click.patch 1970-01-01 01:00:00.000000000 +0100 +++ evolution-3.22.6/debian/patches/20_composer_hangs_right_click.patch 2017-08-13 16:59:10.000000000 +0100 @@ -0,0 +1,104 @@ +Description: Backported patch from git - Fix hangs on right click in composer + window. +Bug-GNOME: https://bugzilla.gnome.org/show_bug.cgi?id=777086 + +--- +Index: b/e-util/e-html-editor.c +=================================================================== +--- a/e-util/e-html-editor.c 2017-08-10 02:19:27.349879933 +0100 ++++ b/e-util/e-html-editor.c 2017-08-10 02:25:30.691503859 +0100 +@@ -488,36 +488,73 @@ + g_strfreev (languages); + } + ++typedef struct _ContextMenuData { ++ GWeakRef *editor_weakref; /* EHTMLEditor * */ ++ EContentEditorNodeFlags flags; ++ guint button; ++ guint32 time; ++} ContextMenuData; ++ ++static void ++context_menu_data_free (gpointer ptr) ++{ ++ ContextMenuData *cmd = ptr; ++ ++ if (cmd) { ++ e_weak_ref_free (cmd->editor_weakref); ++ g_free (cmd); ++ } ++} ++ ++static gboolean ++html_editor_show_context_menu_idle_cb (gpointer user_data) ++{ ++ ContextMenuData *cmd = user_data; ++ EHTMLEditor *editor; ++ ++ g_return_val_if_fail (cmd != NULL, FALSE); ++ ++ editor = g_weak_ref_get (cmd->editor_weakref); ++ if (editor) { ++ GtkWidget *menu; ++ ++ menu = e_html_editor_get_managed_widget (editor, "/context-menu"); ++ ++ g_signal_emit (editor, signals[UPDATE_ACTIONS], 0, cmd->flags); ++ ++ if (!gtk_menu_get_attach_widget (GTK_MENU (menu))) ++ gtk_menu_attach_to_widget (GTK_MENU (menu), GTK_WIDGET (editor), NULL); ++ ++ gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, ++ GTK_WIDGET (e_html_editor_get_content_editor (editor)), cmd->button, cmd->time); ++ ++ g_object_unref (editor); ++ } ++ ++ return FALSE; ++} ++ + static gboolean + html_editor_context_menu_requested_cb (EContentEditor *cnt_editor, + EContentEditorNodeFlags flags, + GdkEvent *event, + EHTMLEditor *editor) + { +- GtkWidget *menu; ++ ContextMenuData *cmd; ++ ++ g_return_val_if_fail (E_IS_HTML_EDITOR (editor), FALSE); ++ ++ cmd = g_new0 (ContextMenuData, 1); ++ cmd->editor_weakref = e_weak_ref_new (editor); ++ cmd->flags = flags; + +- /* COUNT FLAGS */ +- menu = e_html_editor_get_managed_widget (editor, "/context-menu"); ++ if (!event || !gdk_event_get_button (event, &cmd->button)) ++ cmd->button = 0; + +- g_signal_emit (editor, signals[UPDATE_ACTIONS], 0, flags); ++ cmd->time = event ? gdk_event_get_time (event) : gtk_get_current_event_time (); + +- if (!gtk_menu_get_attach_widget (GTK_MENU (menu))) +- gtk_menu_attach_to_widget (GTK_MENU (menu), +- GTK_WIDGET (editor), +- NULL); +- +- if (event) +- gtk_menu_popup ( +- GTK_MENU (menu), NULL, NULL, NULL, +- GTK_WIDGET (cnt_editor), +- ((GdkEventButton*) event)->button, +- ((GdkEventButton*) event)->time); +- else +- gtk_menu_popup ( +- GTK_MENU (menu), NULL, NULL, NULL, +- GTK_WIDGET (cnt_editor), +- 0, +- gtk_get_current_event_time ()); ++ g_idle_add_full (G_PRIORITY_LOW, html_editor_show_context_menu_idle_cb, ++ cmd, context_menu_data_free); + + return TRUE; + } diff -Nru evolution-3.22.6/debian/patches/series evolution-3.22.6/debian/patches/series --- evolution-3.22.6/debian/patches/series 2016-11-07 12:56:27.000000000 +0000 +++ evolution-3.22.6/debian/patches/series 2017-08-13 16:59:16.000000000 +0100 @@ -1,2 +1,3 @@ 02_nss_paths.patch 10_revert_libevolution_avoid-version.patch +20_composer_hangs_right_click.patch
Attachment:
signature.asc
Description: This is a digitally signed message part