<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <p class="western" style="margin-bottom: 0cm" lang="en-GB"><font
        face="Andika Compact"> Is
        a highly skilled developer on Linux willing to spend a few hours
        looking into ibus/kmfl bug 95096? I've spent a week on it and am
        stuck. To help, I think you need to understand SolarMutexGuards,
        yield(), and accessible Portions well. I have some SAL_WARN
        debugging
        set up on gerrit (<a class="moz-txt-link-freetext" href="https://gerrit.libreoffice.org/19415">https://gerrit.libreoffice.org/19415</a>)</font></p>
    <p class="western" style="margin-bottom: 0cm" lang="en-GB"><font
        face="Andika Compact"> Visibly,
        the problem is that a kmfl character composing sequence (like
        ;;~a
        for ä̃) doesn't delete all of the composing sequence in a table
        cell when the row contains a table-in-table. Code-wise, the
        problem
        is something like the accessible PortionData loses the focus
        after
        the first character is deleted, and thus the two remaining
        signalIMDeleteSurrounding calls do nothing because they can't
        find
        the focus/cursor context. The problem apparently comes from
        external layout
        calls - it doesn't seem to be a logic failure in the direct code
        path.</font></p>
    <p class="western" style="margin-bottom: 0cm" lang="en-GB"><font
        face="Andika Compact"> Potential
        fix concepts are a.) locking outside changes until ibus's
        3xdelete +
        add character is done, b.) preventing loss of focus / requiring
        FocusWin to actually have a focused portion, or c.) falling back
        to
        cursor position if no portion has the focus.</font></p>
    <p class="western" style="margin-bottom: 0cm" lang="en-GB"><font
        face="Andika Compact"> I'm
        going to look into the band-aid option (c) now, but I'm afraid
        of
        regressions with that approach. Fix idea A involves external
        libraries? Fix idea B seems best, but I completely failed to
        identify how the focus is lost.<br>
      </font></p>
    <p class="western" style="margin-bottom: 0cm" lang="en-GB"><font
        face="Andika Compact">Thanks,<br>
        Justin<br>
      </font></p>
    <title></title>
    <meta name="generator" content="LibreOffice 5.0.0.5 (Linux)">
    <style type="text/css">
                @page { margin: 2cm }
                p { margin-bottom: 0.21cm; direction: ltr; color: #000000; orphans: 0; widows: 0 }
                p.western { font-family: "Trebuchet MS", sans-serif; font-size: 12pt; so-language: en-GB }
                p.cjk { font-family: "AR PL KaitiM GB"; font-size: 12pt; so-language: zh-CN }
                p.ctl { font-family: "Trebuchet MS", sans-serif; font-size: 12pt; so-language: ar-SA }
                a:link { so-language: zxx }
        </style>
  </body>
</html>