accessibility/inc/pch/precompiled_acc.hxx | 3 +- framework/inc/pch/precompiled_fwk.hxx | 6 ++++- include/vcl/dialoghelper.hxx | 6 ++++- include/vcl/menu.hxx | 1 sc/source/ui/view/gridwin.cxx | 4 +-- sd/source/ui/view/drviews4.cxx | 4 +-- sfx2/inc/pch/precompiled_sfx.hxx | 31 +++++++++++++++--------------- sfx2/source/dialog/StyleList.cxx | 1 sfx2/source/dialog/splitwin.cxx | 4 +-- sw/source/uibase/docvw/edtwin.cxx | 3 +- toolkit/source/awt/vclxmenu.cxx | 3 +- vcl/inc/pch/precompiled_vcl.hxx | 7 +++++- vcl/source/window/menu.cxx | 10 ++++++--- 13 files changed, 51 insertions(+), 32 deletions(-)
New commits: commit 3e8bfde1e1dd859d4c09337605f92db24a142e44 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Mon Nov 29 09:40:25 2021 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Mon Nov 29 17:24:40 2021 +0100 move PopupMenu::IsInExecute out of vcl/include/menu.hxx Change-Id: I01af38dd57a645ea0afeaff033ce6d07dfe09535 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126026 Tested-by: Caolán McNamara <caol...@redhat.com> Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/accessibility/inc/pch/precompiled_acc.hxx b/accessibility/inc/pch/precompiled_acc.hxx index 661e6e4149ef..80dd38d70c30 100644 --- a/accessibility/inc/pch/precompiled_acc.hxx +++ b/accessibility/inc/pch/precompiled_acc.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2021-09-12 11:50:46 using: + Generated on 2021-11-29 09:45:37 using: ./bin/update_pch accessibility acc --cutoff=4 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -300,6 +300,7 @@ #include <o3tl/cow_wrapper.hxx> #include <o3tl/deleter.hxx> #include <o3tl/safeint.hxx> +#include <o3tl/span.hxx> #include <o3tl/strong_int.hxx> #include <o3tl/typed_flags_set.hxx> #include <o3tl/underlyingenumvalue.hxx> diff --git a/framework/inc/pch/precompiled_fwk.hxx b/framework/inc/pch/precompiled_fwk.hxx index 4b14a600b18a..0011dcb8add1 100644 --- a/framework/inc/pch/precompiled_fwk.hxx +++ b/framework/inc/pch/precompiled_fwk.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2021-09-28 05:36:23 using: + Generated on 2021-11-29 09:45:56 using: ./bin/update_pch framework fwk --cutoff=7 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -38,6 +38,7 @@ #include <map> #include <math.h> #include <memory> +#include <mutex> #include <new> #include <numeric> #include <optional> @@ -190,6 +191,7 @@ #include <com/sun/star/lang/XComponent.hpp> #include <com/sun/star/lang/XInitialization.hpp> #include <com/sun/star/lang/XServiceInfo.hpp> +#include <com/sun/star/lang/XUnoTunnel.hpp> #include <com/sun/star/ui/ItemStyle.hpp> #include <com/sun/star/ui/UIElementType.hpp> #include <com/sun/star/ui/XUIConfigurationListener.hpp> @@ -226,6 +228,7 @@ #include <comphelper/multicontainer2.hxx> #include <comphelper/processfactory.hxx> #include <comphelper/propertysequence.hxx> +#include <comphelper/propertyvalue.hxx> #include <comphelper/sequence.hxx> #include <comphelper/sequenceashashmap.hxx> #include <comphelper/servicehelper.hxx> @@ -247,6 +250,7 @@ #include <i18nlangtag/languagetag.hxx> #include <o3tl/cow_wrapper.hxx> #include <o3tl/safeint.hxx> +#include <o3tl/span.hxx> #include <o3tl/strong_int.hxx> #include <o3tl/typed_flags_set.hxx> #include <o3tl/underlyingenumvalue.hxx> diff --git a/include/vcl/dialoghelper.hxx b/include/vcl/dialoghelper.hxx index 549188e00214..eedc6d37a5cf 100644 --- a/include/vcl/dialoghelper.hxx +++ b/include/vcl/dialoghelper.hxx @@ -18,9 +18,13 @@ class Window; extensions/source/activex/SOActiveX.cxx see extensions/source/activex/README.txt possibly dubious if this actually works as expected */ - VCL_DLLPUBLIC void EndAllDialogs(vcl::Window const* pParent); +/* returns true if a vcl PopupMenu is executing. Uses of this outside of vcl/toolkit + are possibly dubious. +*/ +VCL_DLLPUBLIC bool IsInPopupMenuExecute(); + /* for LibreOffice kit */ VCL_DLLPUBLIC void EnableDialogInput(vcl::Window* pDialog); VCL_DLLPUBLIC void CloseTopLevel(vcl::Window* pDialog); diff --git a/include/vcl/menu.hxx b/include/vcl/menu.hxx index b0d7245cf72c..7fd2e34492bd 100644 --- a/include/vcl/menu.hxx +++ b/include/vcl/menu.hxx @@ -526,7 +526,6 @@ public: css::uno::Reference<css::awt::XPopupMenu> CreateMenuInterface(); - static bool IsInExecute(); static PopupMenu* GetActivePopupMenu(); PopupMenu& operator=( const PopupMenu& rMenu ); diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index 337e269e6d13..81be88882264 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -40,8 +40,8 @@ #include <vcl/canvastools.hxx> #include <vcl/commandevent.hxx> #include <vcl/cursor.hxx> +#include <vcl/dialoghelper.hxx> #include <vcl/inputctx.hxx> -#include <vcl/menu.hxx> #include <vcl/settings.hxx> #include <vcl/virdev.hxx> #include <vcl/weldutils.hxx> @@ -1617,7 +1617,7 @@ void ScGridWindow::HandleMouseButtonDown( const MouseEvent& rMEvt, MouseEventSta SfxInPlaceClient* pClient = pViewSh->GetIPClient(); if ( pClient && pClient->IsObjectInPlaceActive() && - PopupMenu::IsInExecute() ) + vcl::IsInPopupMenuExecute() ) return; aCurMousePos = rMEvt.GetPosPixel(); diff --git a/sd/source/ui/view/drviews4.cxx b/sd/source/ui/view/drviews4.cxx index f4114361ccb0..71915d6a1914 100644 --- a/sd/source/ui/view/drviews4.cxx +++ b/sd/source/ui/view/drviews4.cxx @@ -38,7 +38,7 @@ #include <tools/diagnose_ex.h> #include <vcl/cursor.hxx> #include <vcl/commandevent.hxx> -#include <vcl/menu.hxx> +#include <vcl/dialoghelper.hxx> #include <vcl/svapp.hxx> #include <vcl/weldutils.hxx> @@ -324,7 +324,7 @@ void DrawViewShell::MouseButtonDown(const MouseEvent& rMEvt, SfxInPlaceClient* pIPClient = GetViewShell()->GetIPClient(); bool bIsOleActive = ( pIPClient && pIPClient->IsObjectInPlaceActive() ); - if ( bIsOleActive && PopupMenu::IsInExecute() ) + if (bIsOleActive && vcl::IsInPopupMenuExecute()) return; if ( IsInputLocked() ) diff --git a/sfx2/inc/pch/precompiled_sfx.hxx b/sfx2/inc/pch/precompiled_sfx.hxx index a94cc108a281..7cbc4fcb6eae 100644 --- a/sfx2/inc/pch/precompiled_sfx.hxx +++ b/sfx2/inc/pch/precompiled_sfx.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2021-04-08 13:56:42 using: + Generated on 2021-11-29 09:45:10 using: ./bin/update_pch sfx2 sfx --cutoff=3 --exclude:system --exclude:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -26,6 +26,7 @@ #include <assert.h> #include <cassert> #include <chrono> +#include <condition_variable> #include <cstddef> #include <cstdlib> #include <deque> @@ -34,10 +35,10 @@ #include <limits> #include <map> #include <memory> +#include <mutex> #include <new> #include <optional> #include <ostream> -#include <set> #include <stddef.h> #include <stdlib.h> #include <string.h> @@ -83,7 +84,6 @@ #include <rtl/ustrbuf.hxx> #include <rtl/ustring.h> #include <rtl/ustring.hxx> -#include <rtl/uuid.h> #include <sal/backtrace.hxx> #include <sal/log.hxx> #include <sal/macros.h> @@ -102,7 +102,10 @@ #include <vcl/dllapi.h> #include <vcl/errcode.hxx> #include <vcl/event.hxx> +#include <vcl/font.hxx> #include <vcl/gdimtf.hxx> +#include <vcl/gfxlink.hxx> +#include <vcl/gradient.hxx> #include <vcl/graph.hxx> #include <vcl/graphicfilter.hxx> #include <vcl/help.hxx> @@ -112,7 +115,6 @@ #include <vcl/keycod.hxx> #include <vcl/keycodes.hxx> #include <vcl/layout.hxx> -#include <vcl/menu.hxx> #include <vcl/outdev.hxx> #include <vcl/ptrstyle.hxx> #include <vcl/settings.hxx> @@ -120,6 +122,7 @@ #include <vcl/syswin.hxx> #include <vcl/timer.hxx> #include <vcl/toolbox.hxx> +#include <vcl/vclenum.hxx> #include <vcl/vclptr.hxx> #include <vcl/virdev.hxx> #include <vcl/weld.hxx> @@ -154,8 +157,6 @@ #include <com/sun/star/container/XContainerQuery.hpp> #include <com/sun/star/container/XIndexAccess.hpp> #include <com/sun/star/container/XNameAccess.hpp> -#include <com/sun/star/datatransfer/clipboard/XClipboard.hpp> -#include <com/sun/star/datatransfer/dnd/XDropTargetListener.hpp> #include <com/sun/star/document/DocumentProperties.hpp> #include <com/sun/star/document/MacroExecMode.hpp> #include <com/sun/star/document/UpdateDocMode.hpp> @@ -167,7 +168,6 @@ #include <com/sun/star/document/XTypeDetection.hpp> #include <com/sun/star/document/XViewDataSupplier.hpp> #include <com/sun/star/drawing/XDrawPagesSupplier.hpp> -#include <com/sun/star/embed/Aspects.hpp> #include <com/sun/star/embed/ElementModes.hpp> #include <com/sun/star/embed/EmbedStates.hpp> #include <com/sun/star/embed/XEmbeddedObject.hpp> @@ -192,7 +192,6 @@ #include <com/sun/star/frame/XStatusListener.hpp> #include <com/sun/star/frame/XStorable.hpp> #include <com/sun/star/frame/XSynchronousFrameLoader.hpp> -#include <com/sun/star/frame/XTerminateListener.hpp> #include <com/sun/star/frame/XTitle.hpp> #include <com/sun/star/frame/XToolbarController.hpp> #include <com/sun/star/frame/status/ItemStatus.hpp> @@ -275,11 +274,13 @@ #include <comphelper/fileformat.h> #include <comphelper/fileurl.hxx> #include <comphelper/interaction.hxx> -#include <comphelper/interfacecontainer2.hxx> +#include <comphelper/interfacecontainer3.hxx> #include <comphelper/lok.hxx> +#include <comphelper/multicontainer2.hxx> #include <comphelper/namedvaluecollection.hxx> #include <comphelper/processfactory.hxx> #include <comphelper/propertysequence.hxx> +#include <comphelper/propertyvalue.hxx> #include <comphelper/sequence.hxx> #include <comphelper/sequenceashashmap.hxx> #include <comphelper/servicehelper.hxx> @@ -291,15 +292,13 @@ #include <cppuhelper/cppuhelperdllapi.h> #include <cppuhelper/exc_hlp.hxx> #include <cppuhelper/implbase.hxx> -#include <cppuhelper/interfacecontainer.h> -#include <cppuhelper/interfacecontainer.hxx> #include <cppuhelper/supportsservice.hxx> #include <cppuhelper/weak.hxx> #include <cppuhelper/weakref.hxx> #include <drawinglayer/drawinglayerdllapi.h> +#include <drawinglayer/primitive2d/BufferedDecompositionPrimitive2D.hxx> #include <drawinglayer/primitive2d/PolyPolygonColorPrimitive2D.hxx> #include <drawinglayer/primitive2d/PolyPolygonSelectionPrimitive2D.hxx> -#include <drawinglayer/primitive2d/baseprimitive2d.hxx> #include <drawinglayer/primitive2d/textlayoutdevice.hxx> #include <drawinglayer/processor2d/baseprocessor2d.hxx> #include <framework/fwkdllapi.h> @@ -308,6 +307,7 @@ #include <i18nlangtag/languagetag.hxx> #include <o3tl/cow_wrapper.hxx> #include <o3tl/safeint.hxx> +#include <o3tl/string_view.hxx> #include <o3tl/typed_flags_set.hxx> #include <officecfg/Office/Common.hxx> #include <salhelper/simplereferenceobject.hxx> @@ -387,7 +387,6 @@ #include <appbaslib.hxx> #include <appdata.hxx> #include <appopen.hxx> -#include <asyncfunc.hxx> #include <eventsupplier.hxx> #include <helper.hxx> #include <helpids.h> @@ -397,6 +396,7 @@ #include <openflag.hxx> #include <openuriexternally.hxx> #include <openurlhint.hxx> +#include <sfx2/StyleManager.hxx> #include <sfx2/app.hxx> #include <sfx2/basedlgs.hxx> #include <sfx2/bindings.hxx> @@ -422,12 +422,12 @@ #include <sfx2/inputdlg.hxx> #include <sfx2/ipclient.hxx> #include <sfx2/linkmgr.hxx> -#include <sfx2/listview.hxx> #include <sfx2/lnkbase.hxx> #include <sfx2/lokhelper.hxx> #include <sfx2/module.hxx> #include <sfx2/msg.hxx> #include <sfx2/msgpool.hxx> +#include <sfx2/newstyle.hxx> #include <sfx2/notebookbar/SfxNotebookBar.hxx> #include <sfx2/objface.hxx> #include <sfx2/objitem.hxx> @@ -446,7 +446,6 @@ #include <sfx2/sidebar/Deck.hxx> #include <sfx2/sidebar/FocusManager.hxx> #include <sfx2/sidebar/Panel.hxx> -#include <sfx2/sidebar/PanelLayout.hxx> #include <sfx2/sidebar/ResourceManager.hxx> #include <sfx2/sidebar/SidebarChildWindow.hxx> #include <sfx2/sidebar/SidebarController.hxx> @@ -471,6 +470,8 @@ #include <sfxurlrelocator.hxx> #include <splitwin.hxx> #include <statcach.hxx> +#include <templdgi.hxx> +#include <tplcitem.hxx> #include <workwin.hxx> #endif // PCH_LEVEL >= 4 diff --git a/sfx2/source/dialog/StyleList.cxx b/sfx2/source/dialog/StyleList.cxx index 5b86a1033c49..b0c3f8a05a82 100644 --- a/sfx2/source/dialog/StyleList.cxx +++ b/sfx2/source/dialog/StyleList.cxx @@ -68,7 +68,6 @@ #include <StyleList.hxx> #include <vcl/toolbox.hxx> -#include <vcl/menu.hxx> using namespace css; using namespace css::beans; diff --git a/sfx2/source/dialog/splitwin.cxx b/sfx2/source/dialog/splitwin.cxx index 6625b85d5aaf..0255c8c8a7d0 100644 --- a/sfx2/source/dialog/splitwin.cxx +++ b/sfx2/source/dialog/splitwin.cxx @@ -26,8 +26,8 @@ #include <sal/log.hxx> #include <tools/debug.hxx> +#include <vcl/dialoghelper.hxx> #include <vcl/event.hxx> -#include <vcl/menu.hxx> #include <vcl/timer.hxx> #include <vcl/svapp.hxx> @@ -934,7 +934,7 @@ IMPL_LINK( SfxSplitWindow, TimerHdl, Timer*, pTimer, void) { pEmptyWin->bEndAutoHide = false; if ( !Application::IsInModalMode() && - !PopupMenu::IsInExecute() && + !vcl::IsInPopupMenuExecute() && !pEmptyWin->bSplit && !HasChildPathFocus( true ) ) { // While a modal dialog or a popup menu is open or while the diff --git a/sw/source/uibase/docvw/edtwin.cxx b/sw/source/uibase/docvw/edtwin.cxx index 45139e673912..f6acd7d6360c 100644 --- a/sw/source/uibase/docvw/edtwin.cxx +++ b/sw/source/uibase/docvw/edtwin.cxx @@ -29,6 +29,7 @@ #include <com/sun/star/i18n/UnicodeScript.hpp> #include <com/sun/star/ui/ContextMenuExecuteEvent.hpp> +#include <vcl/dialoghelper.hxx> #include <vcl/inputctx.hxx> #include <vcl/help.hxx> #include <vcl/weld.hxx> @@ -2769,7 +2770,7 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt) SfxInPlaceClient* pIPClient = rSh.GetSfxViewShell()->GetIPClient(); bool bIsOleActive = ( pIPClient && pIPClient->IsObjectInPlaceActive() ); - if ( bIsOleActive && PopupMenu::IsInExecute() ) + if (bIsOleActive && vcl::IsInPopupMenuExecute()) return; MouseEvent aMEvt(_rMEvt); diff --git a/toolkit/source/awt/vclxmenu.cxx b/toolkit/source/awt/vclxmenu.cxx index 02f693ef64a7..31c0f7f08edf 100644 --- a/toolkit/source/awt/vclxmenu.cxx +++ b/toolkit/source/awt/vclxmenu.cxx @@ -28,6 +28,7 @@ #include <cppuhelper/typeprovider.hxx> #include <osl/mutex.hxx> #include <tools/debug.hxx> +#include <vcl/dialoghelper.hxx> #include <vcl/graph.hxx> #include <vcl/menu.hxx> #include <vcl/keycod.hxx> @@ -661,7 +662,7 @@ sal_Bool SAL_CALL VCLXMenu::isInExecute( ) ::osl::Guard< ::osl::Mutex > aGuard( GetMutex() ); if ( mpMenu && IsPopupMenu() ) - return PopupMenu::IsInExecute(); + return vcl::IsInPopupMenuExecute(); else return false; } diff --git a/vcl/inc/pch/precompiled_vcl.hxx b/vcl/inc/pch/precompiled_vcl.hxx index 2a87404a6069..eb4a7fc0c462 100644 --- a/vcl/inc/pch/precompiled_vcl.hxx +++ b/vcl/inc/pch/precompiled_vcl.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2021-10-06 19:41:09 using: + Generated on 2021-11-29 09:46:20 using: ./bin/update_pch vcl vcl --cutoff=6 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -23,6 +23,7 @@ #include <sal/config.h> #if PCH_LEVEL >= 1 #include <algorithm> +#include <array> #include <atomic> #include <cassert> #include <chrono> @@ -42,6 +43,7 @@ #include <memory> #include <mutex> #include <new> +#include <numeric> #include <optional> #include <ostream> #include <set> @@ -183,6 +185,7 @@ #include <comphelper/fileformat.h> #include <comphelper/lok.hxx> #include <comphelper/processfactory.hxx> +#include <comphelper/propertyvalue.hxx> #include <comphelper/sequence.hxx> #include <comphelper/string.hxx> #include <cppu/cppudllapi.h> @@ -209,6 +212,7 @@ #include <o3tl/strong_int.hxx> #include <o3tl/typed_flags_set.hxx> #include <o3tl/underlyingenumvalue.hxx> +#include <o3tl/unit_conversion.hxx> #include <officecfg/Office/Common.hxx> #include <salhelper/linkhelper.hxx> #include <salhelper/salhelperdllapi.h> @@ -330,6 +334,7 @@ #include <vcl/idle.hxx> #include <vcl/image.hxx> #include <vcl/layout.hxx> +#include <vcl/lazydelete.hxx> #include <vcl/lineinfo.hxx> #include <vcl/menu.hxx> #include <vcl/metaact.hxx> diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx index 591a429108b0..7df1de185cde 100644 --- a/vcl/source/window/menu.cxx +++ b/vcl/source/window/menu.cxx @@ -21,6 +21,7 @@ #include <sal/log.hxx> #include <comphelper/lok.hxx> +#include <vcl/dialoghelper.hxx> #include <vcl/svapp.hxx> #include <vcl/mnemonic.hxx> #include <vcl/image.hxx> @@ -2714,9 +2715,12 @@ void PopupMenu::ClosePopup(Menu* pMenu) p->KillActivePopup(pPopup); } -bool PopupMenu::IsInExecute() +namespace vcl { - return GetActivePopupMenu() != nullptr; + bool IsInPopupMenuExecute() + { + return PopupMenu::GetActivePopupMenu() != nullptr; + } } PopupMenu* PopupMenu::GetActivePopupMenu() @@ -2808,7 +2812,7 @@ void PopupMenu::ImplFlushPendingSelect() sal_uInt16 PopupMenu::ImplExecute( const VclPtr<vcl::Window>& pW, const tools::Rectangle& rRect, FloatWinPopupFlags nPopupModeFlags, Menu* pSFrom, bool bPreSelectFirst ) { - if ( !pSFrom && ( PopupMenu::IsInExecute() || !GetItemCount() ) ) + if ( !pSFrom && ( vcl::IsInPopupMenuExecute() || !GetItemCount() ) ) return 0; mpLayoutData.reset();