summaryrefslogtreecommitdiff
path: root/connectivity/Jar_sdbc_hsqldb.mk
blob: 20cd1f8ae044c3ded8642069aeda3424ab1ba524 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#

$(eval $(call gb_Jar_Jar,sdbc_hsqldb))

$(eval $(call gb_Jar_use_externals,sdbc_hsqldb,\
	hsqldb \
))

$(eval $(call gb_Jar_add_manifest_classpath,sdbc_hsqldb,\
	$(if $(filter MACOSX,$(OS)),../../Frameworks/,..) \
))

$(eval $(call gb_Jar_set_packageroot,sdbc_hsqldb,com))

$(eval $(call gb_Jar_add_packagedir,sdbc_hsqldb,org))

$(eval $(call gb_Jar_add_sourcefiles,sdbc_hsqldb,\
	connectivity/org/hsqldb/lib/FileSystemRuntimeException \
	connectivity/com/sun/star/sdbcx/comp/hsqldb/NativeInputStreamHelper \
	connectivity/com/sun/star/sdbcx/comp/hsqldb/NativeLibraries \
	connectivity/com/sun/star/sdbcx/comp/hsqldb/NativeOutputStreamHelper \
	connectivity/com/sun/star/sdbcx/comp/hsqldb/NativeStorageAccess \
	connectivity/com/sun/star/sdbcx/comp/hsqldb/StorageAccess \
	connectivity/com/sun/star/sdbcx/comp/hsqldb/StorageFileAccess \
	connectivity/com/sun/star/sdbcx/comp/hsqldb/StorageNativeInputStream \
	connectivity/com/sun/star/sdbcx/comp/hsqldb/StorageNativeOutputStream \
))

# vim: set noet sw=4 ts=4:
ogsubject'>tdf#149499 Prevent crash upon inserting page break and undoingMatt K The problem is the code uses objects that have been destructed or don't exist likely because of destruction, thus causing crashes. The fix is to check for the existence of these objects or whether they have been destructed prior to using them. Also removed some asserts that were firing that don't appear to be valid. A crash happens when executing an assert in an undo scenario because the SwFlowFrame on the SwFlowFrame::GetFollow call stack frame is an "Exception thrown: read access violation. this was 0xFFFFFFFFFFFFFFEF." > swlo.dll!SwFlowFrame::GetFollow() Line 169 C++ swlo.dll!SwFlowFrame::IsAnFollow(const SwFlowFrame * pAssumed) Line 757 C++ swlo.dll!SwFootnoteFrame::GetRef() Line 2947 C++ swlo.dll!SwFootnoteBossFrame::FindFirstFootnote() Line 1114 C++ swlo.dll!SwFootnoteBossFrame::InsertFootnote(SwFootnoteFrame * pNew) Line 1271 C++ swlo.dll!SwFootnoteBossFrame::AppendFootnote(SwContentFrame * pRef, SwTextFootnote * pAttr) Line 1665 C++ swlo.dll!SwTextFrame::ConnectFootnote(SwTextFootnote * pFootnote, const __int64 nDeadLine) Line 692 C++ swlo.dll!SwTextFormatter::NewFootnotePortion(SwTextFormatInfo & rInf, SwTextAttr * pHint) Line 840 C++ swlo.dll!SwTextFormatter::NewExtraPortion(SwTextFormatInfo & rInf) Line 283 C++ swlo.dll!SwTextFormatter::NewPortion(SwTextFormatInfo & rInf, std::optional<o3tl::strong_int<long,Tag_TextFrameIndex>> oMovedFlyIndex) Line 1738 C++ swlo.dll!SwTextFormatter::BuildPortions(SwTextFormatInfo & rInf) Line 773 C++ swlo.dll!SwTextFormatter::FormatLine(o3tl::strong_int<long,Tag_TextFrameIndex> nStartPos) Line 1955 C++ Another callstack observed for an assert (other version of SwFootnoteFrame::GetRef) in a undo/redo scenario was: ucrtbased.dll!issue_debug_notification(const wchar_t * const message) Line 28 C++ ucrtbased.dll!__acrt_report_runtime_error(const wchar_t * message) Line 154 C++ ucrtbased.dll!abort() Line 61 C++ ucrtbased.dll!common_assert_to_stderr<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number) Line 187 C++ ucrtbased.dll!common_assert<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number, void * const return_address) Line 420 C++ ucrtbased.dll!_wassert(const wchar_t * expression, const wchar_t * file_name, unsigned int line_number) Line 444 C++ > swlo.dll!SwFootnoteFrame::GetRef() Line 2938 C++ swlo.dll!SwTextFrameBreak::IsInside(const SwTextMargin & rLine) Line 172 C++ swlo.dll!SwTextFrameBreak::IsBreakNow(SwTextMargin & rLine) Line 230 C++ swlo.dll!SwTextFrame::FormatAdjust(SwTextFormatter & rLine, WidowsAndOrphans & rFrameBreak, o3tl::strong_int<long,Tag_TextFrameIndex> nStrLen, const bool bDummy) Line 1101 C++ swlo.dll!SwTextFrame::Format_(SwTextFormatter & rLine, SwTextFormatInfo & rInf, const bool bAdjust) Line 1757 C++ swlo.dll!SwTextFrame::FormatImpl(OutputDevice * pRenderContext, SwParaPortion * pPara, std::vector<SwAnchoredObject *,std::allocator<SwAnchoredObject *>> & rIntersectingObjs) Line 1865 C++ swlo.dll!SwTextFrame::Format(OutputDevice * pRenderContext, const SwBorderAttrs * __formal) Line 2068 C++ swlo.dll!SwContentFrame::MakeAll(OutputDevice * __formal) Line 1532 C++ swlo.dll!SwFrame::PrepareMake(OutputDevice * pRenderContext) Line 388 C++ swlo.dll!SwFrame::Calc(OutputDevice * pRenderContext) Line 1814 C++ swlo.dll!SwFootnoteBossFrame::AppendFootnote(SwContentFrame * pRef, SwTextFootnote * pAttr) Line 1687 C++ swlo.dll!SwTextFrame::ConnectFootnote(SwTextFootnote * pFootnote, const __int64 nDeadLine) Line 692 C++ swlo.dll!SwTextFormatter::NewFootnotePortion(SwTextFormatInfo & rInf, SwTextAttr * pHint) Line 840 C++ swlo.dll!SwTextFormatter::NewExtraPortion(SwTextFormatInfo & rInf) Line 283 C++ swlo.dll!SwTextFormatter::NewPortion(SwTextFormatInfo & rInf, std::optional<o3tl::strong_int<long,Tag_TextFrameIndex>> oMovedFlyIndex) Line 1738 C++ swlo.dll!SwTextFormatter::BuildPortions(SwTextFormatInfo & rInf) Line 773 C++ swlo.dll!SwTextFormatter::FormatLine(o3tl::strong_int<long,Tag_TextFrameIndex> nStartPos) Line 1955 C++ The assert in sw\source\core\inc\drawfont.hxx happened when adding some text in the footnotes and then undoing. Here is the callstack: ucrtbased.dll!issue_debug_notification(const wchar_t * const message) Line 28 C++ ucrtbased.dll!__acrt_report_runtime_error(const wchar_t * message) Line 154 C++ ucrtbased.dll!abort() Line 61 C++ ucrtbased.dll!common_assert_to_stderr<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number) Line 187 C++ ucrtbased.dll!common_assert<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number, void * const return_address) Line 420 C++ ucrtbased.dll!_wassert(const wchar_t * expression, const wchar_t * file_name, unsigned int line_number) Line 444 C++ > swlo.dll!SwDrawTextInfo::SwDrawTextInfo(const SwViewShell * pSh, OutputDevice & rOut, const SwScriptInfo * pSI, const rtl::OUString & rText, const o3tl::strong_int<long,Tag_TextFrameIndex> nIdx, const o3tl::strong_int<long,Tag_TextFrameIndex> nLen, unsigned short nWidth, bool bBullet, const vcl::text::TextLayoutCache * const pCachedVclData) Line 123 C++ swlo.dll!SwTextSizeInfo::GetTextSize() Line 422 C++ swlo.dll!SwTextPortion::GetTextSize(const SwTextSizeInfo & rInf) Line 544 C++ swlo.dll!SwTextCursor::GetCharRect_(SwRect * pOrig, o3tl::strong_int<long,Tag_TextFrameIndex> nOfst, SwCursorMoveState * pCMS) Line 943 C++ swlo.dll!SwTextCursor::GetCharRect(SwRect * pOrig, o3tl::strong_int<long,Tag_TextFrameIndex> nOfst, SwCursorMoveState * pCMS, const __int64 nMax) Line 1270 C++ swlo.dll!SwTextFrame::GetCharRect(SwRect & rOrig, const SwPosition & rPos, SwCursorMoveState * pCMS, bool bAllowFarAway) Line 285 C++ swlo.dll!SwCursorShell::UpdateCursor(unsigned short eFlags, bool bIdleEnd) Line 2271 C++ swlo.dll!SwCursorShell::EndAction(const bool bIdleEnd) Line 283 C++ swlo.dll!SwEditShell::EndAllAction() Line 102 C++ swlo.dll!SwWrtShell::Do(SwWrtShell::DoType eDoType, unsigned short nCnt, unsigned short nOffset) Line 60 C++ swlo.dll!SwBaseShell::ExecUndo(SfxRequest & rReq) Line 657 C++ Another assert in sw\source\core\inc\drawfont.hxx happened when adding text to footnotes and undoing twice. Callstack: ucrtbased.dll!issue_debug_notification(const wchar_t * const message) Line 28 C++ ucrtbased.dll!__acrt_report_runtime_error(const wchar_t * message) Line 154 C++ ucrtbased.dll!abort() Line 61 C++ ucrtbased.dll!common_assert_to_stderr<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number) Line 187 C++ ucrtbased.dll!common_assert<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number, void * const return_address) Line 420 C++ ucrtbased.dll!_wassert(const wchar_t * expression, const wchar_t * file_name, unsigned int line_number) Line 444 C++ > swlo.dll!SwDrawTextInfo::SetLen(const o3tl::strong_int<long,Tag_TextFrameIndex> nNew) Line 493 C++ swlo.dll!SwSubFont::GetTextSize_(SwDrawTextInfo & rInf) Line 1006 C++ swlo.dll!SwFont::GetTextSize_(SwDrawTextInfo & rInf) Line 314 C++ swlo.dll!SwTextSizeInfo::GetTextSize() Line 428 C++ swlo.dll!SwTextPortion::GetTextSize(const SwTextSizeInfo & rInf) Line 544 C++ swlo.dll!SwTextCursor::GetCharRect_(SwRect * pOrig, o3tl::strong_int<long,Tag_TextFrameIndex> nOfst, SwCursorMoveState * pCMS) Line 943 C++ swlo.dll!SwTextCursor::GetCharRect(SwRect * pOrig, o3tl::strong_int<long,Tag_TextFrameIndex> nOfst, SwCursorMoveState * pCMS, const __int64 nMax) Line 1270 C++ swlo.dll!SwTextFrame::GetCharRect(SwRect & rOrig, const SwPosition & rPos, SwCursorMoveState * pCMS, bool bAllowFarAway) Line 285 C++ swlo.dll!SwCursorShell::UpdateCursor(unsigned short eFlags, bool bIdleEnd) Line 2271 C++ swlo.dll!SwCursorShell::EndAction(const bool bIdleEnd) Line 283 C++ swlo.dll!SwEditShell::EndAllAction() Line 102 C++ swlo.dll!SwWrtShell::Do(SwWrtShell::DoType eDoType, unsigned short nCnt, unsigned short nOffset) Line 60 C++ swlo.dll!SwBaseShell::ExecUndo(SfxRequest & rReq) Line 657 C++ I wasn't able to consistently repro the assert in sw\source\core\text\txtfrm.cxx, but it did happen at least once in my testing. Change-Id: I66fdedcd1f88fc2eb4e60ef6bd9f6baa46fe4684 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162317 Tested-by: Jenkins Reviewed-by: Matt K <mattkse@gmail.com> 2023-11-16tdf#119908 sw smart justify: fix justification by shrinkingLászló Németh Shrink the exceeding lines by shrinking the spaces between the words. Because the negative spacing values are used for the extra space between the characters in the main data structure of the justified line layout, and not for the space between the words, like the positive values, the negative space values for shrinking are stored over LONG_MAX/2 as absolute values to avoid of bigger changes of the data structure before designing a better justification algorithm, where it's possible to mix different methods for the more visible text layout. Note: the text cursor doesn't follow the new word positions yet. Follow-up to commit 7d08767b890e723cd502b1c61d250924f695eb98 "tdf#130088 tdf#119908 smart justify: fix DOCX line count + compat opt." Change-Id: I9a63b5a93d6bce230e963ebc88ea2d0f9aa8fffb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159511 Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: László Németh <nemeth@numbertext.org> 2023-07-06loplugin:unusedfields all-can-be-privateNoel Grandin these fields can be private Change-Id: I74423a9ae2ef0263a28c8a716ab1c55861e453d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154092 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> 2022-08-31tdf#30731: Improve caret travelling in WriterKhaled Hosny Previously, when measuring caret position, Writer would measure the width of the substring before the caret (i.e. layout it independent of the text after the caret and measure its width). This is incorrect, though. It assumes cutting the string laying it out would result in the same width as when laid out as part of a bigger string, which is invalid assumption when e.g. cutting inside a ligature or between letters that have different shapes when next to each other, etc. This appears to work when the width of the substring laid out alone is close enough to its width when laid out with the full text. But in cases where is widths are largely different, like the extreme case in the bug report, the caret will be jumping around as it is positioned based on the unligated glyphs not the ligated, rendered glyphs. This change introduces a special mode of measuring text width for caret positioning, that will layout the whole string that return the width of the requested substring. Fields and small caps text are trickier to handle, so old behaviour is retained for them. Now one will probably notice but if they do, it can be dealt with then. This also tries to be conservative and keep other pleases using the existing behaviour which might be desirable (e.g. when measuring text width for line breaking, we want the unligated width), but there might be other places that should use the new behaviour. To handle caret inside ligatures, the grapheme clusters in the ligature are counted and the width of the whole ligature is distributed on them evenly. A further improvement would be using HarfBuzz API to get ligature caret positions for fonts that provide them, which helps when the ligature components have different widths. Change-Id: I02062e2e2e1b1a35c8f84307c0a8f5d743059ab5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138889 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> 2022-03-10Recheck sw headers with IWYUGabor Kelemen See tdf#42949 for motivation Change-Id: I99558e6b6952b3f2c1ee32dd07354ff659ad9cd0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131183 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>