[Libreoffice-commits] core.git: Branch 'distro/vector/vector-5.4' - vcl/source

Samuel Mehrbrodt (via logerrit) logerrit at kemper.freedesktop.org
Mon Apr 6 08:51:24 UTC 2020


 vcl/source/window/menu.cxx |    7 +++++++
 1 file changed, 7 insertions(+)

New commits:
commit 15bcdc15a803b54dc17733b0f60556fa0cbf799b
Author:     Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
AuthorDate: Wed Mar 11 12:41:58 2020 +0100
Commit:     Miklos Vajna <vmiklos at collabora.com>
CommitDate: Mon Apr 6 10:50:45 2020 +0200

    Add some fallback minimum size when screen size detection goes wrong
    
    (cherry picked from commit 643a1492bd648fbd803ca86aca600cc2bdaf5819)
    
    Change-Id: I97ec2359b8ae406e310a5d043ac068ddd89b3fd1

diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index ead4e91eff10..411b26bac9d5 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -2885,6 +2885,13 @@ sal_uInt16 PopupMenu::ImplExecute( const VclPtr<vcl::Window>& pW, const tools::R
         nMaxHeight = std::min(nMaxHeight, std::max(nHeightAbove, nHeightBelow));
     }
 
+    // In certain cases this might be misdetected with a height of 0, leading to menus not being displayed.
+    // So assume that the available screen size matches at least the system requirements
+    SAL_WARN_IF(nMaxHeight < 768, "vcl",
+                "Available height misdetected as " << nMaxHeight
+                                                   << "px. Setting to 768px instead.");
+    nMaxHeight = std::max(nMaxHeight, 768l);
+
     if (pStartedFrom && pStartedFrom->IsMenuBar())
         nMaxHeight -= pW->GetSizePixel().Height();
     sal_Int32 nLeft, nTop, nRight, nBottom;


More information about the Libreoffice-commits mailing list