basctl/source/basicide/baside2b.cxx |   19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

New commits:
commit a7c2f1580e928d13d02d778639a0f26de728b5be
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Sun Apr 28 16:28:49 2019 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Sun Apr 28 18:31:40 2019 +0200

    Resolves: tdf#124704 need to state the area the tooltip is for
    
    to make it work under gtk3
    
    Change-Id: I4c895181af233a16292ce16b194f0a60994446fb
    Reviewed-on: https://gerrit.libreoffice.org/71478
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/basctl/source/basicide/baside2b.cxx 
b/basctl/source/basicide/baside2b.cxx
index 2e3425da97ce..df2b10ef5ab1 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -343,7 +343,7 @@ void EditorWindow::RequestHelp( const HelpEvent& rHEvt )
         else if ( rHEvt.GetMode() & HelpEventMode::QUICK )
         {
             OUString aHelpText;
-            Point aTopLeft;
+            tools::Rectangle aHelpRect;
             if ( StarBASIC::IsRunning() )
             {
                 Point aWindowPos = rHEvt.GetMousePosPixel();
@@ -377,15 +377,20 @@ void EditorWindow::RequestHelp( const HelpEvent& rHEvt )
                     }
                     if ( !aHelpText.isEmpty() )
                     {
-                        aTopLeft = 
GetEditView()->GetTextEngine()->PaMtoEditCursor( aStartOfWord ).BottomLeft();
-                        aTopLeft = GetEditView()->GetWindowPos( aTopLeft );
-                        aTopLeft.AdjustX(5 );
-                        aTopLeft.AdjustY(5 );
-                        aTopLeft = OutputToScreenPixel( aTopLeft );
+                        tools::Rectangle 
aStartWordRect(GetEditView()->GetTextEngine()->PaMtoEditCursor(aStartOfWord));
+                        TextPaM aEndOfWord(aStartOfWord.GetPara(), 
aStartOfWord.GetIndex() + aWord.getLength());
+                        tools::Rectangle 
aEndWordRect(GetEditView()->GetTextEngine()->PaMtoEditCursor(aEndOfWord));
+                        aHelpRect = aStartWordRect.GetUnion(aEndWordRect);
+
+                        Point aTopLeft = 
GetEditView()->GetWindowPos(aHelpRect.TopLeft());
+                        aTopLeft = 
GetEditView()->GetWindow()->OutputToScreenPixel(aTopLeft);
+
+                        aHelpRect.setX(aTopLeft.X());
+                        aHelpRect.setY(aTopLeft.Y());
                     }
                 }
             }
-            Help::ShowQuickHelp( this, tools::Rectangle( aTopLeft, Size( 1, 1 
) ), aHelpText, QuickHelpFlags::Top|QuickHelpFlags::Left);
+            Help::ShowQuickHelp( this, aHelpRect, aHelpText, 
QuickHelpFlags::NONE);
             bDone = true;
         }
     }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to