[Libreoffice-commits] core.git: 2 commits - sw/source vcl/source

Michael Meeks (via logerrit) logerrit at kemper.freedesktop.org
Sat Sep 28 09:01:49 UTC 2019


 sw/source/uibase/sidebar/PageSizeControl.cxx |    6 ++++++
 vcl/source/control/button.cxx                |    9 +++++----
 2 files changed, 11 insertions(+), 4 deletions(-)

New commits:
commit fc79f23922ccae8b494b31a5dd7bb4767e50c87e
Author:     Michael Meeks <michael.meeks at collabora.com>
AuthorDate: Fri Sep 27 22:02:06 2019 +0100
Commit:     Michael Meeks <michael.meeks at collabora.com>
CommitDate: Sat Sep 28 11:01:18 2019 +0200

    Hold reference on parent dialog while emitting EndDialog.
    
    Also cleanup the code.
    
    Change-Id: I5f9d562319dc244ee22feb2e3fd64023bc229c4e
    Reviewed-on: https://gerrit.libreoffice.org/79771
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/79777
    Tested-by: Michael Meeks <michael.meeks at collabora.com>

diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx
index 0036d6dbb90d..b130686d82ee 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -1691,13 +1691,14 @@ void OKButton::Click()
         {
             if ( pParent->IsDialog() )
             {
-                if ( static_cast<Dialog*>(pParent)->IsInExecute() )
-                    static_cast<Dialog*>(pParent)->EndDialog( RET_OK );
+                VclPtr<Dialog> xParent( static_cast<Dialog*>(pParent) );
+                if ( xParent->IsInExecute() )
+                    xParent->EndDialog( RET_OK );
                 // prevent recursive calls
-                else if ( !static_cast<Dialog*>(pParent)->IsInClose() )
+                else if ( !xParent->IsInClose() )
                 {
                     if ( pParent->GetStyle() & WB_CLOSEABLE )
-                        static_cast<Dialog*>(pParent)->Close();
+                        xParent->Close();
                 }
             }
             else
commit 40c2e33ce47ff1e51f412e20f306b0849517ebcb
Author:     Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Fri Sep 27 19:45:46 2019 +0200
Commit:     Xisco Faulí <xiscofauli at libreoffice.org>
CommitDate: Sat Sep 28 11:01:08 2019 +0200

    tdf#126321: avoid flickering in page size popup
    
    In a Tabbed notebookbar, Layout - Page Size
    
    Change-Id: I74ab54e96486de960d1ccc7bcb3c2679e25a6e9e
    Reviewed-on: https://gerrit.libreoffice.org/79752
    Reviewed-by: Xisco Faulí <xiscofauli at libreoffice.org>
    Tested-by: Xisco Faulí <xiscofauli at libreoffice.org>

diff --git a/sw/source/uibase/sidebar/PageSizeControl.cxx b/sw/source/uibase/sidebar/PageSizeControl.cxx
index 6901d54ea284..02dbfe007343 100644
--- a/sw/source/uibase/sidebar/PageSizeControl.cxx
+++ b/sw/source/uibase/sidebar/PageSizeControl.cxx
@@ -77,6 +77,12 @@ PageSizeControl::PageSizeControl( sal_uInt16 nId, vcl::Window* pParent )
     get(maMoreButton, "moreoptions");
     get(maContainer, "container");
     mpSizeValueSet = VclPtr<svx::sidebar::ValueSetWithTextControl>::Create( maContainer.get(), WB_BORDER );
+
+    // Avoid flicker when hovering over the menu items.
+    if (!IsNativeControlSupported(ControlType::Pushbutton, ControlPart::Focus))
+        // If NWF renders the focus rects itself, that breaks double-buffering.
+        mpSizeValueSet->RequestDoubleBuffering(true);
+
     maWidthHeightField = VclPtr<MetricField>::Create( maContainer.get(), 0 );
     maWidthHeightField->Hide();
     maWidthHeightField->SetUnit(FieldUnit::CM);


More information about the Libreoffice-commits mailing list