vcl/source/control/ilstbox.cxx |    5 +----
 vcl/source/window/menu.cxx     |    5 ++---
 vcl/source/window/winproc.cxx  |   21 +++++++++------------
 3 files changed, 12 insertions(+), 19 deletions(-)

New commits:
commit 454f5c3018c6d61d5872f7c23c7590c2157444e4
Author: Caolán McNamara <caol...@redhat.com>
Date:   Mon Oct 20 16:40:40 2014 +0100

    Revert "Fix fdo#84795 Menu, DropDown-List not disappears with right mouse 
click"
    
    This reverts commit 53c836701e22b1babd3702b502facd76236df7ff.
    
    because it means that all disabled buttons get their "click" delivered
    so disabled buttons are only visually disabled.
    
    e.g. writer: insert->table->autoformat, click on the disabled "rename" or 
"add"
    or "remove" and the sub dialog appears. Or in calc insert->object->chart and
    click on the disabled "back" -> crash

diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx
index ec8eb6b..228d3b6 100644
--- a/vcl/source/control/ilstbox.cxx
+++ b/vcl/source/control/ilstbox.cxx
@@ -3073,10 +3073,7 @@ void ImplListBoxFloatingWindow::StartFloat( bool 
bStartTracking )
         if( pGrandparent->ImplIsAntiparallel() )
             pGrandparentOutDev->ReMirror( aRect );
 
-        // mouse-button right: close the List-Box-Float-win and don't stop the 
handling fdo#84795
-        const sal_uLong nFlags = FLOATWIN_POPUPMODE_PATHMOUSECANCELCLICK | 
FLOATWIN_POPUPMODE_ALLMOUSEBUTTONCLOSE;
-
-        StartPopupMode( aRect, FLOATWIN_POPUPMODE_DOWN | nFlags );
+        StartPopupMode( aRect, FLOATWIN_POPUPMODE_DOWN );
 
         if( nPos != LISTBOX_ENTRY_NOTFOUND )
             mpImplLB->ShowProminentEntry( nPos );
diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index 4ed5174..f951769 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -2816,9 +2816,8 @@ sal_uInt16 PopupMenu::ImplExecute( vcl::Window* pW, const 
Rectangle& rRect, sal_
     WinBits nStyle = WB_BORDER;
     if (bRealExecute)
         nPopupModeFlags |= FLOATWIN_POPUPMODE_NEWLEVEL;
-
-    // mouse-button right: close the sub-menu (float-win) and don't stop the 
handling fdo#84795
-    nPopupModeFlags |= FLOATWIN_POPUPMODE_PATHMOUSECANCELCLICK | 
FLOATWIN_POPUPMODE_ALLMOUSEBUTTONCLOSE;
+    if (!pStartedFrom || !pStartedFrom->IsMenuBar())
+        nPopupModeFlags |= FLOATWIN_POPUPMODE_PATHMOUSECANCELCLICK | 
FLOATWIN_POPUPMODE_ALLMOUSEBUTTONCLOSE;
 
     nPopupModeFlags |= FLOATWIN_POPUPMODE_NOKEYCLOSE;
 
diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx
index 18e2f45..a677af1 100644
--- a/vcl/source/window/winproc.cxx
+++ b/vcl/source/window/winproc.cxx
@@ -101,7 +101,7 @@ static bool ImplHandleMouseFloatMode( vcl::Window* pChild, 
const Point& rMousePo
                         pLastLevelFloat = 
pSVData->maWinData.mpFirstFloat->ImplFindLastLevelFloat();
                         nPopupFlags = pLastLevelFloat->GetPopupModeFlags();
                         pLastLevelFloat->EndPopupMode( 
FLOATWIN_POPUPMODEEND_CANCEL | FLOATWIN_POPUPMODEEND_CLOSEALL );
-                        return false;   // don't stop the handling  fdo#84795
+                        return true;
                     }
                     else if ( nHitTest == HITTEST_RECT )
                     {
@@ -381,7 +381,7 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, sal_uInt16 
nSVEvent, bool bMous
         // #106845# if the window was disabed during capturing we have to pass 
the mouse events to release capturing
         if ( pSVData->maWinData.mpCaptureWin != pChild && 
(!pChild->IsEnabled() || !pChild->IsInputEnabled() || 
pChild->IsInModalNonRefMode() ) )
         {
-            bool bStopHdl = ImplHandleMouseFloatMode( pChild, aMousePos, 
nCode, nSVEvent, bMouseLeave );
+            ImplHandleMouseFloatMode( pChild, aMousePos, nCode, nSVEvent, 
bMouseLeave );
             if ( nSVEvent == EVENT_MOUSEMOVE )
             {
                 ImplHandleMouseHelpRequest( pChild, aMousePos );
@@ -401,18 +401,15 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, 
sal_uInt16 nSVEvent, bool bMous
                 pChild->ImplNotifyKeyMouseCommandEventListeners( aNEvt );
             }
 
-            if(bStopHdl) // mouse-button left: don't stop the handling for the 
click fdo#84795
+            if ( nSVEvent == EVENT_MOUSEBUTTONDOWN )
+                return true;
+            else
             {
-                if ( nSVEvent == EVENT_MOUSEBUTTONDOWN )
-                    return true;
-                else
-                {
-                    // Set normal MousePointer for disabled windows
-                    if ( nSVEvent == EVENT_MOUSEMOVE )
-                        ImplSetMousePointer( pChild );
+                // Set normal MousePointer for disabled windows
+                if ( nSVEvent == EVENT_MOUSEMOVE )
+                    ImplSetMousePointer( pChild );
 
-                    return false;
-                }
+                return false;
             }
         }
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to