← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1613805] Re: [evolution/wip/webkit2] EHTMLEditorView - Restore the selection end mark correctly when processing HTML to plain text

 

This bug was fixed in the package evolution - 3.18.5.2-0ubuntu3.2

---------------
evolution (3.18.5.2-0ubuntu3.2) xenial-proposed; urgency=medium

  * debian/patches/lp1613805.patch: EHTMLEditorView - Restore the selection
    end mark correctly when processing HTML to plain text (LP: #1613805)

 -- Jamie Strandboge <jamie@xxxxxxxxxx>  Thu, 11 May 2017 18:42:04 +0000

** Changed in: evolution (Ubuntu Xenial)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1613805

Title:
  [evolution/wip/webkit2] EHTMLEditorView - Restore the selection end
  mark correctly when processing HTML to plain text

Status in evolution package in Ubuntu:
  Fix Released
Status in evolution source package in Xenial:
  Fix Released
Status in evolution source package in Artful:
  Fix Released

Bug description:
  [Impact]
  Ubuntu 16.04 evolution users sometimes send emails with ##SELECTION_END## due to a copy/paste error in the EHTMLEditorView code when converting HTML to plain text.

  This is fixed in newer Ubuntu releases. The fix is a from upstream:
  https://mail.gnome.org/archives/commits-list/2016-May/msg06756.html

  [Test Case]
  I tried to find a test case but was unable to as it doesn't seem to always happen and there is no upstream bug or steps to reproduce. The code change is obvious though. This is the broken code:

  if (strstr (*text, "##SELECTION_START##")) {
   GString *tmp;

   tmp = e_str_replace_string (
    *text,
    "##SELECTION_START##",
    "<span id=\"-x-evo-selection-start-marker\"></span>");

   g_free (*text);
   *text = g_string_free (tmp, FALSE);
  }

  if (strstr (*text, "##SELECTION_END##")) {
   GString *tmp;

   tmp = e_str_replace_string (
    *text,
    "##SELECTION_START##",
    "<span id=\"-x-evo-selection-start-marker\"></span>");

   g_free (*text);
   *text = g_string_free (tmp, FALSE);
  }

  Notice how if it finds ##SELECTION_END## in the text, it will not end
  up replacing it because it tries to replace ##SELECTION_START##
  instead. Contrast that to the stanza just above it that correctly
  searches for and replaces ##SELECTION_START##.

  Test case then is simply testing for no regressions:
  1. send an html mail
  2. respond to an html in html
  3. respond to an html in plain text
  4. send an email in plain text
  5. respond to a plain text email in html
  6. respond to a plain text email in plain text

  [Regression Potential]
  The regression potential is considered low since the change is minimal and obviously correct. In addition I personally used the patch for months (until upgrading to 17.04) and have several users that also use it without issue.

  == Original description ==
  From https://mail.gnome.org/archives/commits-list/2016-May/msg06756.html:

  "EHTMLEditorView - Restore the selection end mark correctly when
  processing HTML to plain text

  Otherwise the ##SELECTON_END## string could be left in the output."

  I sometimes see this from people on xenial. Patch in the commit list
  needs a light backport. I will attach a debdiff if it works.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/evolution/+bug/1613805/+subscriptions