include/vcl/dialog.hxx        |    4 +++-
 sc/source/ui/app/inputhdl.cxx |    8 ++++++--
 vcl/source/window/msgbox.cxx  |    1 +
 3 files changed, 10 insertions(+), 3 deletions(-)

New commits:
commit 274c86af3ce7e665aee232e4e9fee76fe22af0bd
Author: Jan Holesovsky <ke...@collabora.com>
Date:   Wed Feb 21 19:58:11 2018 +0100

    sc lok: Make the Validation "Invalid value." message box working.
    
    Change-Id: Ic0131fa6fc397ae440efed834266b8396aa9e619
    Reviewed-on: https://gerrit.libreoffice.org/50122
    Reviewed-by: Marco Cecchetti <mrcek...@gmail.com>
    Tested-by: Marco Cecchetti <mrcek...@gmail.com>

diff --git a/include/vcl/dialog.hxx b/include/vcl/dialog.hxx
index b1bdfcfb1cea..980fcadff31c 100644
--- a/include/vcl/dialog.hxx
+++ b/include/vcl/dialog.hxx
@@ -54,7 +54,6 @@ private:
     SAL_DLLPRIVATE void    RemoveFromDlgList();
     SAL_DLLPRIVATE void    ImplInitDialogData();
     SAL_DLLPRIVATE void    ImplInitSettings();
-    SAL_DLLPRIVATE inline  void ImplLOKNotifier(vcl::Window* pParent);
 
     virtual void ApplySettings(vcl::RenderContext& rRenderContext) override;
 
@@ -67,6 +66,9 @@ protected:
     using Window::ImplInit;
     SAL_DLLPRIVATE void    ImplInit( vcl::Window* pParent, WinBits nStyle, 
InitFlag eFlag = InitFlag::Default );
 
+    /// Find and set the LOK notifier according to the pParent.
+    void ImplLOKNotifier(vcl::Window* pParent);
+
 public:
     SAL_DLLPRIVATE bool    IsInClose() const { return mbInClose; }
     virtual        void    doDeferredInit(WinBits nBits) override;
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 48d7fd0eb58d..0a84c9d60584 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -2656,8 +2656,12 @@ void ScInputHandler::EnterHandler( ScEnterMode 
nBlockMode )
                 if ( pActiveViewSh )                // If it came from 
MouseButtonDown
                     pActiveViewSh->StopMarking();   // (the InfoBox consumes 
the MouseButtonUp)
 
-                //FIXME: We still run into problems if the input is triggered 
by activating another View
-                vcl::Window* pParent = Application::GetDefDialogParent();
+                vcl::Window* pParent = nullptr;
+                if (pActiveViewSh)
+                    pParent = &pActiveViewSh->GetViewFrame()->GetWindow();
+                else
+                    pParent = Application::GetDefDialogParent();
+
                 if ( pData->DoError( pParent, aString, aCursorPos ) )
                     bForget = true;                 // Do not take over input
             }
diff --git a/vcl/source/window/msgbox.cxx b/vcl/source/window/msgbox.cxx
index ad1031d7ae60..8248e546457f 100644
--- a/vcl/source/window/msgbox.cxx
+++ b/vcl/source/window/msgbox.cxx
@@ -135,6 +135,7 @@ MessBox::MessBox( vcl::Window* pParent, WinBits nStyle,
     mbCheck( false ),
     maMessText( rMessage )
 {
+    ImplLOKNotifier(pParent);
     ImplInit( pParent, nStyle | WB_MOVEABLE | WB_HORZ | WB_CENTER );
     ImplInitButtons();
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to