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

Lionel Elie Mamane lionel at mamane.lu
Wed Jul 15 10:54:28 PDT 2015


 svtools/source/brwbox/editbrowsebox.cxx |   10 ----------
 1 file changed, 10 deletions(-)

New commits:
commit 7ba160cecf7068b292cc12c30564fbbda3e55a70
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Wed Jul 15 19:47:18 2015 +0200

    Remove harmful ill-timed CellController disable on mouse button down
    
    This disable will be done, in a better way, by the call to
    BrowseBox::MouseButtonDown below, *after* the destination of the mouse
    click has grabbed the focus, by a call to DeactivateCell().
    
    If this is done here, while the "source" controller still has the
    focus, then the window's Disable() method will try to pass the focus
    the the "next control". However, the "next" control may belong to
    another form, and this will do a (premature!) save to the database of
    the modifications. This may lead to a database error, when the data is
    not in a shape to be written to the database, e.g. when on an
    insertion row and not all mandatory fields have been filled in.
    This then pops up an error message to the user.
    
    Change-Id: I38b1850319691b34232e51f131f8d099dc4a9114

diff --git a/svtools/source/brwbox/editbrowsebox.cxx b/svtools/source/brwbox/editbrowsebox.cxx
index 3764de7..372e7a5 100644
--- a/svtools/source/brwbox/editbrowsebox.cxx
+++ b/svtools/source/brwbox/editbrowsebox.cxx
@@ -482,20 +482,10 @@ namespace svt
 
     void EditBrowseBox::MouseButtonDown(const BrowserMouseEvent& rEvt)
     {
-        sal_uInt16  nColPos = GetColumnPos( rEvt.GetColumnId() );
-        long    nRow    = rEvt.GetRow();
-
         // absorb double clicks
         if (rEvt.GetClicks() > 1 && rEvt.GetRow() >= 0)
             return;
 
-        // change to a new position
-        if (IsEditing() && (nColPos != nEditCol || nRow != nEditRow) && (nColPos != BROWSER_INVALIDID) && (nRow < GetRowCount()))
-        {
-            CellControllerRef aCellController(Controller());
-            HideAndDisable(aCellController);
-        }
-
         // we are about to leave the current cell. If there is a "this cell has been modified" notification
         // pending (asynchronously), this may be deadly -> do it synchronously
         if ( nCellModifiedEvent )


More information about the Libreoffice-commits mailing list