[Libreoffice-commits] core.git: Branch 'distro/lhm/libreoffice-6-1+backports' - 2 commits - include/vcl sw/qa sw/source vcl/source
Katarina Behrens (via logerrit)
logerrit at kemper.freedesktop.org
Thu Jun 6 21:21:34 UTC 2019
include/vcl/vclevent.hxx | 1 -
sw/qa/uitest/writer_tests/xwindow.py | 2 --
sw/source/core/layout/calcmove.cxx | 4 ++++
vcl/source/window/event.cxx | 3 +--
vcl/source/window/window.cxx | 3 ---
5 files changed, 5 insertions(+), 8 deletions(-)
New commits:
commit 4ecc5059be10999ef940885bc5d331cbda881530
Author: Katarina Behrens <Katarina.Behrens at cib.de>
AuthorDate: Thu Jun 6 18:00:02 2019 +0200
Commit: Thorsten Behrens <Thorsten.Behrens at CIB.de>
CommitDate: Thu Jun 6 23:20:54 2019 +0200
Revert temp fix of Basic editor crash and fix properly
to do that, backport part of commit 0adbc69c81cc287386b31b25b2dc89780933e2b1
Turns out that this particular VclEventId (WindowChildCreated) is unused
i.e. listeners for such event type don't exist and an attempt to find them via
GetComponentInterface was causing the crash
Change-Id: I57c59bde021cf802f01eaa6fd14e2ce3f6c73a1c
Reviewed-on: https://gerrit.libreoffice.org/73623
Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
diff --git a/include/vcl/vclevent.hxx b/include/vcl/vclevent.hxx
index 8f15df2228c4..d8c8cc285173 100644
--- a/include/vcl/vclevent.hxx
+++ b/include/vcl/vclevent.hxx
@@ -143,7 +143,6 @@ enum class VclEventId
ToolboxItemWindowChanged,
ToolboxSelect,
WindowActivate,
- WindowChildCreated, // pData = vcl::Window*
WindowChildDestroyed, // pData = vcl::Window*
WindowClose,
WindowCommand, // pData = CommandEvent*
diff --git a/sw/qa/uitest/writer_tests/xwindow.py b/sw/qa/uitest/writer_tests/xwindow.py
index b263ebff33d3..a1be89bf2981 100644
--- a/sw/qa/uitest/writer_tests/xwindow.py
+++ b/sw/qa/uitest/writer_tests/xwindow.py
@@ -78,8 +78,6 @@ class XKeyListenerExtended(unohelper.Base, XKeyListener):
# Test that registered mouse/key listeners for top window receive mouse/key events
class XWindow(UITestCase):
def test_listeners(self):
- # Disabled until basic editor crash is fixed
- return
global mouseListenerCount
global keyListenerCount
diff --git a/vcl/source/window/event.cxx b/vcl/source/window/event.cxx
index 1e4d47b8f647..6f092ce3729a 100644
--- a/vcl/source/window/event.cxx
+++ b/vcl/source/window/event.cxx
@@ -216,9 +216,8 @@ void Window::CallEventListeners( VclEventId nEvent, void* pData )
// If maEventListeners is empty, the XVCLWindow has not yet been initialized.
// Calling GetComponentInterface will do that.
- /* FIXME: This leads to a crash in Basic Editor
if (mpWindowImpl->maEventListeners.empty() && pData)
- xWindow->GetComponentInterface();*/
+ xWindow->GetComponentInterface();
if (!mpWindowImpl->maEventListeners.empty())
{
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 12182b2c3f1f..3d7a5323227f 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -1171,9 +1171,6 @@ void Window::ImplInit( vcl::Window* pParent, WinBits nStyle, SystemParentData* p
// calculate app font res (except for the Intro Window or the default window)
if ( mpWindowImpl->mbFrame && !pSVData->maGDIData.mnAppFontX && ! (nStyle & (WB_INTROWIN|WB_DEFAULTWIN)) )
ImplInitAppFontData( this );
-
- if ( GetAccessibleParentWindow() && GetParent() != Application::GetDefDialogParent() )
- GetAccessibleParentWindow()->CallEventListeners( VclEventId::WindowChildCreated, this );
}
void Window::ImplInitAppFontData( vcl::Window const * pWindow )
commit 80c23583140248c9e35555bfd0ff645163b6191c
Author: Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Sun Jun 2 13:58:01 2019 +0200
Commit: Thorsten Behrens <Thorsten.Behrens at CIB.de>
CommitDate: Thu Jun 6 23:20:39 2019 +0200
tdf#119109 sw: tweak assertion in PrepareMake()
Empty section frames cause trouble for the assert added in
e14056e6e88d9b8d988b7b88b2776a8fc952031b:
* existing ones may be skipped by MoveBwd(), so a SwTextFrame moves to
the previous page but the SwSectionFrame that was its mpPrev remains
on this page; e.g. ooo110854-1.rtf
* a SwSectionFrame moves backward, then some SwTextFrame in it splits
and the follow tries to move forward, resulting in *new*
SwSectionFrames on this page that are empty (because the follow is
eventually joined again); e.g. abi3213-1.rtf
So if there's a section frame, assume it's SNAFU and don't assert.
Change-Id: Ibdca2aa39fae123583e5edf5173f80e8b70ef335
Reviewed-on: https://gerrit.libreoffice.org/73333
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
(cherry picked from commit 1416c5426a757d32f223cab46bf9038bd7f21d48)
Reviewed-on: https://gerrit.libreoffice.org/73617
Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
diff --git a/sw/source/core/layout/calcmove.cxx b/sw/source/core/layout/calcmove.cxx
index 8a5271dbad3e..3e31a0e66b81 100644
--- a/sw/source/core/layout/calcmove.cxx
+++ b/sw/source/core/layout/calcmove.cxx
@@ -318,6 +318,8 @@ void SwFrame::PrepareMake(vcl::RenderContext* pRenderContext)
if (isLast && pFrame->GetUpper() != GetUpper())
{
assert(GetUpper()->Lower() == this
+ // empty section frames are created all the time...
+ || GetUpper()->Lower()->IsSctFrame()
// tab frame/section frame may split multiple times
|| ( SwFlowFrame::CastFlowFrame(pFrame)
&& SwFlowFrame::CastFlowFrame(GetUpper()->Lower())
@@ -440,6 +442,8 @@ void SwFrame::PrepareCursor()
if (isLast && pFrame->GetUpper() != GetUpper())
{
assert(GetUpper()->Lower() == this
+ // empty section frames are created all the time...
+ || GetUpper()->Lower()->IsSctFrame()
// tab frame/section frame may split multiple times
|| ( SwFlowFrame::CastFlowFrame(pFrame)
&& SwFlowFrame::CastFlowFrame(GetUpper()->Lower())
More information about the Libreoffice-commits
mailing list