New branch 'distro/collabora/coc-25.04' available with the following commits:
commit 61c9b3dcc92c96cd46226da61fbe1ae2bcfa1289
Author: Parth Raiyani <[email protected]>
Date: Wed Feb 4 19:03:06 2026 +0530
fix: update color palette handling by removing color name param in
insertions
Change-Id: I9c08a3d5b1ef744dc356d2a347c65dc61b6a329d
commit 2124d92c796f066544980b18f6f658b102c1378f
Author: Michael Weghorn <[email protected]>
Date: Thu Aug 7 13:54:47 2025 +0200
tdf#167658 Reduce icon view size in "Borders" page to what's needed
Set the alignment properties for the IconViews in
ther "Borders" tab page used e.g. in Writer's
"Format" -> "Page Style" dialog to not take more space
than needed.
This prevents the vcl implementation (used e.g. with the
gen or qt6 vcl plugins) from taking more space than what
is needed to display their items, now that the corresponding
size is calculated with previous commit
Change-Id: I95e13d748c4c178b7492665bbc9e1a5980c7ef81
Author: Michael Weghorn <[email protected]>
Date: Thu Aug 7 09:45:15 2025 +0200
tdf#167658 vcl: Honor GtkIconView::columns + calc size
in place.
Change-Id: I03942fcfb086536a65e5b28c0abbe70375e29bcf
commit 2d202df99a3a3e53da63b98ca670fb25f1e772ad
Author: Michael Weghorn <[email protected]>
Date: Thu Aug 7 09:45:15 2025 +0200
tdf#167658 vcl: Honor GtkIconView::columns + calc size
For SalInstanceIconView, i.e. the vcl implementation
of weld::IconView, using a vcl IconView control,
take the GtkIconView::columns [1] property into
account:
Introduce IconView::m_nFixedColumnCount as a new
member for which VclBuilder sets the value accordingly
when processing a .ui file.
Override the SvTreeListBox::GetOptimalSize base class
implementation for IconView to instead return the
size required when all icons are arranged using the
given amount of columns if one was explicitly set.
Otherwise, keep using the logic used so far.
This e.g. prevents the IconViews in Writer's "Format"
-> "Page Style" dialog, tab "Borders" from occupying a
lot of unused vertical space (as the "columns" property
is already set for those in the UI file,
cui/uiconfig/ui/borderpage.ui) and thus addresses
that aspect mentioned in previous commit
Change-Id: I6d8d8d5ac38d7ebb62c0d9963ec2125d417a3a49
Author: Michael Weghorn <[email protected]>
Date: Thu Aug 7 10:17:57 2025 +0200
tdf#167658 Update vcl IconView entry size when inserting item
When inserting a new entry into a SalInstanceIconView,
using SalInstanceIconView::insert, let the IconView
control recalculate an appropriate entry size, as
is already done when the image of an entry is updated
in SalInstanceIconView::set_image since
commit 9f2fc6fbf74cbc0643f380aa4b799e36997734aa
Date: Sat Mar 8 17:29:01 2025 +0530
tdf#165610 sd: master slide panel is broken with "show
large preview"
However, (in both cases) only do so if no custom entry
width was explicitly set using SalInstanceIconView::set_item_width.
This makes the presets in Writer's "Format" -> "Page Style" dialog,
tab "Borders" show again with the expected size and in one row
instead of one item per row.
The IconView still has a lot of unused space, which will be
addressed
in a separate commit.
Change-Id: I6d8d8d5ac38d7ebb62c0d9963ec2125d417a3a49
[1] https://docs.gtk.org/gtk3/property.IconView.columns.html
Change-Id: I95e13d748c4c178b7492665bbc9e1a5980c7ef81
commit b5496ff94a8869629d7015d78860c7637a40688e
Author: Michael Weghorn <[email protected]>
Date: Thu Aug 7 11:16:42 2025 +0200
vcl: Use existing IconView::IsSeparator helper
Change-Id: I084cedb6e8d70460d31fc492f0d14ab7f04beff6
commit ed3fe1caff5ce3302c391229a945d98f8a16dc9a
Author: Michael Weghorn <[email protected]>
Date: Thu Aug 7 11:11:44 2025 +0200
vcl: Make IsSeparator a static IconView method
This prepares for reusing the existing logic.
Change-Id: If8885adc80a240853f5529ac908eb5513994d0b8
commit b87a836b77e0a146897a10bd3e02f0c6d0395e0d
Author: Michael Weghorn <[email protected]>
Date: Thu Aug 7 11:07:07 2025 +0200
vcl: Pass IsSeparator param by reference
That allows dropping the null check and also
prepares for reusing the existing helper function
elsewhere.
Change-Id: I056ad8f81dec68dff33a9817365e5166af41ee8c
commit bdd08622b553b28af96f42481b5ebb8a77e7af7b
Author: Michael Weghorn <[email protected]>
Date: Thu Aug 7 11:03:25 2025 +0200
vcl: Switch EntryAreaInfo::entry to ref
It's known to be non-null in IconViewImpl::IterateVisibleEntryAreas.
Change-Id: I24125e39733c9c8cddc002d7fdd624de25925377
commit 29ed290d96b3dd4570db076e012a2796718a65ec
Author: Michael Weghorn <[email protected]>
Date: Thu Aug 7 10:48:04 2025 +0200
vcl: Pass IconViewImpl::ScrollTo param by ref
All callers check the pointer for being non-null, so
it's safe to dereference.
Change-Id: Ic456b009d2bc722f2b7af61b24a5a2f64101b408
commit a1d2fb23f9157f9d1528b3526f9f8a8aab5d9b1a
Author: Michael Weghorn <[email protected]>
Date: Thu Aug 7 10:17:57 2025 +0200
tdf#167658 Update vcl IconView entry size when inserting item
When inserting a new entry into a SalInstanceIconView,
using SalInstanceIconView::insert, let the IconView
control recalculate an appropriate entry size, as
is already done when the image of an entry is updated
in SalInstanceIconView::set_image since
commit 9f2fc6fbf74cbc0643f380aa4b799e36997734aa
Date: Sat Mar 8 17:29:01 2025 +0530
tdf#165610 sd: master slide panel is broken with "show large
preview"
However, (in both cases) only do so if no custom entry
width was explicitly set using SalInstanceIconView::set_item_width.
This makes the presets in Writer's "Format" -> "Page Style" dialog,
tab "Borders" show again with the expected size and in one row
instead of one item per row.
The IconView still has a lot of unused space, which will be addressed
in a separate commit.
Change-Id: I6d8d8d5ac38d7ebb62c0d9963ec2125d417a3a49
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189080
commit 137c849d1bb3c58f205478c8c8fa64a8e3de5c3e
Author: Andras Timar <[email protected]>
Date: Mon Feb 23 18:47:10 2026 +0100
cui: fix crash in Hyperlink dialog mark tree with unexpected outline levels
The while loop in FillTree could pop all entries from the stack,
including the sentinel, if a heading had an outline level <= -1.
Subsequent top() calls on the empty stack triggered a SIGABRT.
Keep the sentinel entry by checking stack size before popping.
Change-Id: I647b0de4d39dea4cdad44cc844db4a0788ab91db
commit 9da044699a4351ed1b915ac30d5ed093cd00d030
Author: Andras Timar <[email protected]>
Date: Mon Feb 23 18:33:15 2026 +0100
editeng: fix CalcHeight to account for multiline field extra Y
CalcHeight just summed editeng line heights without accounting for
multiline fields. Paint renders a multiline field's sub-lines using
nMaxAscent per sub-line, consuming extra Y, then skips subsequent
editeng lines. But CalcHeight still counted those skipped lines'
heights, making GetTextHeight() report a height shorter than what
was actually rendered. This caused the text box to be too small in
edit mode, leading to vertical shrinkage and text overlap.
Fix by calling CalcMultilineFieldYImpact in the height summation
loop, adding nExtraYAdvance and skipping consumed lines, consistent
with Paint and IterateLineAreas.
Change-Id: I775bf2367608b44cbab83fc09986f595f32036c6
commit 76ccfba3091b01ef722dd70ead36114504ad5768
Author: Andras Timar <[email protected]>
Date: Mon Feb 23 17:50:14 2026 +0100
editeng: unify Paint and IterateLineAreas for multiline fields
Revert the 3 commits (9c40875c7841, d88f288c714b, 30aa4781ccfe) that
tried to make cursor positioning match multiline field rendering by
duplicating logic in IterateLineAreas. They introduced regressions
because the duplicated logic diverged from Paint's line-skipping rules.
Instead, extract the multiline field Y-impact calculation into a shared
helper CalcMultilineFieldYImpact() that both Paint and IterateLineAreas
call. This ensures cursor positioning and rendering always agree on how
many lines a multiline field consumes and how much extra Y space it
needs.
Also re-remove the bStripOnly guard so LOK's non-strip rendering path
handles multiline fields correctly.
Change-Id: I077fa163a0cbfba1c6dc060e0808b945ca0adcba
commit 21fb9391524b0b8cc6c00806b6f0eaadd760e247
Author: Andras Timar <[email protected]>
Date: Mon Feb 23 12:39:35 2026 +0100
gbuild: add .po file dependency to MoTarget for incremental rebuilds
MoTarget had no makefile prerequisite on the .po source files -
the .po path was only referenced in the recipe command. This meant
that modifying a .po file in the translations submodule would not
trigger a rebuild of the corresponding .mo file during incremental
builds.
Add the .po file as a prerequisite in both gb_MoTarget_MoTarget
(for the default polocation) and gb_MoTarget_set_polocation (for
modules that override it), following the same $(wildcard ...) +
empty-rule pattern already used by XcuMergeTarget, ScpMergeTarget,
and other translation targets.
Change-Id: I7f3a2e8b4c1d6e9f0a3b5d7c2e4f8a1b6d9c3e5f
commit 0ee2b56db3a7b29d3e03ec396109f511f661215a
Author: Andras Timar <[email protected]>
Date: Sat Feb 21 16:17:57 2026 +0100
new loplugin:scopedvclptr to detect VclPtr<VirtualDevice> leaks
Two checks to prevent GDI handle leaks on Windows:
1. Local VclPtr<VirtualDevice> created via VclPtr::Create() but never
disposed - should use ScopedVclPtr<VirtualDevice> instead.
Suppressed when the variable is returned (factory), explicitly
disposeAndClear()'d, or not initialized via VclPtr::Create().
2. Functions returning VclPtr<VirtualDevice> - should return
ScopedVclPtr<VirtualDevice> so callers get automatic cleanup.
Both checks support // [-loplugin:scopedvclptr] suppression comments
for cases where the code is correct but the plugin cannot prove it
(e.g. ownership transfer to a container/member, virtual overrides
whose base class dictates the return type).
17 existing false-positive sites suppressed across vcl, svx, sw,
chart2, sc, drawinglayer, and editeng.
Added additional 7 suppression comments to GTK-only code that
doesn't affect Windows.
Change-Id: I6556f2d4e27ab34d135c3fbc5a6c18e04a3e3e0e