After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 634411 - Crash when pasting nothing into html message composer
Crash when pasting nothing into html message composer
Status: RESOLVED WONTFIX
Product: evolution
Classification: Applications
Component: Mailer
2.32.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
: 638559 642422 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-11-09 12:39 UTC by Milan Crha
Modified: 2014-08-26 19:42 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Milan Crha 2010-11-09 12:39:57 UTC
Found as part of a downstream bug report by its reporter:
https://bugzilla.redhat.com/show_bug.cgi?id=651198

a) open composer
b) add an empty line, select it, deselect it
c) right-click with the mouse, see the Copy action is enabled, press it
d) right-click and choose Paste.

if the above was done in plain text mode then only a critical warning is
printed on the console:
> composer-CRITICAL **: e_composer_paste_text: assertion `text != NULL' failed

if in the HTML mode, then the evolution crashes with the below backtrace. The
only "issue" is that it is a different crash than the initial.

I committed workarounds to evo master (80d11c3 in 2.91.3+) and evo gnome-2-32 (29afee0 in 2.32.1+) till proper fix will be found. Basically, the EFocusTracker is checking actions' availability mainly based on the primary clipboard, but that's not correct, because it cannot know from where will the action ask its data, either selection clipboard or primary clipboard. For gtkhtml it asks itself, but there is nothing selected, so it returns nothing (NULL) later, which leads to critical warnings and/or the crash.

Cut&Copy should not be enabled when there is no selection in the widget it belongs to.

  • #0 g_utf8_validate
    at gutf8.c line 1784
  • #1 e_selection_data_get_html
    at e-selection.c line 308
  • #2 clipboard_request_html_cb
    at e-selection.c line 658
  • #3 selection_received
    at gtkclipboard.c line 865
  • #4 g_closure_invoke
    at gclosure.c line 766
  • #5 signal_emit_unlocked_R
    at gsignal.c line 3252
  • #6 g_signal_emit_valist
    at gsignal.c line 2983
  • #7 g_signal_emit_by_name
    at gsignal.c line 3077
  • #8 gtk_selection_retrieval_report
    at gtkselection.c line 2938
  • #9 IA__gtk_selection_convert
    at gtkselection.c line 1089
  • #10 e_clipboard_request_html
    at e-selection.c line 681
  • #11 e_clipboard_wait_for_html
    at e-selection.c line 747
  • #12 e_composer_paste_html
    at e-composer-private.c line 608
  • #13 msg_composer_paste_clipboard_targets_cb
    at e-msg-composer.c line 1744

Comment 1 André Klapper 2010-12-14 19:44:45 UTC
Workaround was http://git.gnome.org/browse/evolution/commit?id=29afee0 .
Comment 2 Akhil Laddha 2011-01-03 10:46:29 UTC
*** Bug 638559 has been marked as a duplicate of this bug. ***
Comment 3 Fabio Durán Verdugo 2011-02-16 03:08:15 UTC
*** Bug 642422 has been marked as a duplicate of this bug. ***
Comment 4 André Klapper 2014-08-26 19:42:38 UTC
I guess we're good enough with the workarounds in GtkHtml as Evo will switch to WebKit anyway.