[Libreoffice-commits] core.git: sc/source

Kohei Yoshida kohei.yoshida at collabora.com
Tue Dec 6 03:24:20 UTC 2016


 sc/source/ui/app/inputhdl.cxx |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit ae923f941f70ebe99cc785076f3357015dd69003
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Mon Dec 5 21:37:25 2016 -0500

    tdf#71409: Let's not crash the function wizard dialog.
    
    It's a long story, but here is a short summary:
    
    When the function wizard dialog launches, it uses an edit engine
    instance to process text input, and that edit engine instance comes
    from the input window (for whatever reason).  And, we are supposed
    to get ScTextWnd::MakeDialogEditView() called to instantiate such
    edit engine instance for the function wizard dialog.  My previous
    change, however, changed this and ScTextWnd::InitEditEngine() ended
    up getting called to instantiate the edit engine instance.  These
    two functions create edit engine instances with different settings
    intended for different use cases...
    
    The crash we saw is just one manifestation of such differences.
    
    Change-Id: I7fd84c1b1eca2351b9ecc87e325c2fd3787369eb
    Reviewed-on: https://gerrit.libreoffice.org/31664
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Kohei Yoshida <libreoffice at kohei.us>

diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index f88b6e5..5d1fa76 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -1894,7 +1894,7 @@ void ScInputHandler::UpdateActiveView()
         }
     }
 
-    if (pInputWin)
+    if (pInputWin && (eMode == SC_INPUT_TOP || eMode == SC_INPUT_TABLE))
     {
         // tdf#71409: Always create the edit engine instance for the input
         // window, in order to properly manage accessibility events.


More information about the Libreoffice-commits mailing list