New branch 'distro/collabora/coda-25.04' available with the following commits:
commit 4abedba5ea6eb2d293dd21592a1423af2cfc4308
Author: Tor Lillqvist <[email protected]>
Date: Mon Nov 24 16:26:02 2025 +0100
Don't use sub-pixel rendering in WASM and CODA-W
We have no knowledge of the sub-pixel order of the display hardware.
Change-Id: I7aee7797d5b4a976b34cc95e93b605cc23039617
commit 0983994a30e141d68345296da1ed80065f27e99b
Author: Andras Timar <[email protected]>
Date: Sun Nov 23 00:24:58 2025 +0100
CODA-W: more tweaks to build config
Change-Id: I1900d19d95e27a9a47ad2c17715ffba5b4eadd99
commit c2620241d9654da6194e3e0e648bfcbe6826590d
Author: Tor Lillqvist <[email protected]>
Date: Sat Nov 22 09:31:33 2025 +0100
Don't package conflicting and pointless fontconfig configuration files
For instance, having both 10-no-antialias.conf and
10-yes-antialias.conf in the same conf.d folder is silly.
Look at what Ubuntu has in /etc/fonts/conf.d and keep only those. Note
that ExternalPackage_fontconfig_data is used only for WASM and CODA-W
anyway, so the "local" and "user" ones are surely irrelevant.
Change-Id: I76219eb38675f2e3018d84ab1fc845b1131cc4f5
commit 2a2d5db3b3f728842b02256785d55b223ecc8b3a
Author: Tor Lillqvist <[email protected]>
Date: Sat Nov 22 07:52:34 2025 +0100
Package the fonts.conf file and the conf.d folder also for Windows
On Windows, fontconfig looks for fonts.conf in a "fonts" subfolder of
the folder where DLL is where the fontconfig code lives. Thus in our
case, the "program" folder.
Change-Id: I2d7ae5ea02c61bd22c2ae9ca19e1138ffd35881e
commit c976d20f16738ef372382f3654a08f829843bc87
Author: Tor Lillqvist <[email protected]>
Date: Sat Nov 22 07:24:39 2025 +0100
Also log successfully opened fontconfig configuration files on Windows
Change-Id: Idb12ad6c5bee5f72c411ae5df713b0c86330e654
commit d644bf9dd546431bb8a68888d906751016a389bd
Author: Tor Lillqvist <[email protected]>
Date: Sat Nov 22 05:38:55 2025 +0100
No need to look up SHGetFolderPathA dynamically
There was perhaps a good reason for that over 20 years ago when
fontconfig was initially ported to Windows, but surely not any longer.
Change-Id: I6bbe37e0aaff1c58646fb75ade1ba216668795e0
commit 703c6b54beb2c073f4aab49e2b5762e999bfb1a0
Author: Tor Lillqvist <[email protected]>
Date: Sat Nov 22 05:11:32 2025 +0100
We don't use GetSystemWindowsDirectoryA() any more so don't look it up
Change-Id: Ibafb12bbc1f7c474efae4bc07c3061f172318f70
commit fae89992a5e60fc76040a9e2445f2cf3169a1168
Author: Tor Lillqvist <[email protected]>
Date: Sat Nov 22 00:50:11 2025 +0100
Make the weird FT_Done_MM_Var() trick in vcl work also on Windows
For Windows we build freetype as a static library. But we must build
freetype with DLL_EXPORT defined so that symbols like FT_Done_MM_Var
get exported by the DLL into which the static freetype library is
linked. That is mergedlo.dll or vcllo.dll.
Then in vcl's dlFT_Done_MM_Var() we can't just call
osl_getAsciiFunctionSymbol() with a nullptr for the first "module"
parameter and expect it to look through all modules, like dlsym() does
on Unixes. On Windows, osl_getAsciiFunctionSymbol() calls
GetProcAddress(), and passing a NULL first parameter to tht is simply
invalid. We must look for FT_Done_MM_Var in mergedlo.dll, or if that
isn't loaded, vcllo.dll.
Possibly it would be simpler to just pretend we don't HAVE_DLAPI in
this case and call FT_Done_MM_Var() directly.
Without this commit, FT_Done_MM_Var will not be found, so the code
will just call free() instead of FT_Done_MM_Var(), and if built using
the debugging C library that will lead to a strange assertion failure
in the C library. With the non-debugging C library it might perhaps
lead to some odd bug, or just not do whatever proper deallocation of
resources or something it is that FT_Done_MM_Var() does.
commit d72a05bd6524a1f14b37aefe2545f6b193803a35
Author: Andras Timar <[email protected]>
Date: Tue Nov 18 21:51:45 2025 +0100
[cp] tweaks to license text
Change-Id: I4df2bb09ed5207b3e943e999c47d2f0e2ebc540f
commit 4da1916fa1ea66f30f354c282a8a0e36524c80eb
Author: Miklos Vajna <[email protected]>
Date: Tue Nov 18 08:47:15 2025 +0100
vcl: fix crash in Window::ImplInvalidate()
Crashreport:
#0 0x00007377176d3ff5 in vcl::Window::ImplInvalidate (this=0x33912050,
pRegion=0x0, nFlags=InvalidateFlags::NONE)
at
/home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/vcl/source/window/paint.cxx:787
#1 0x00007377176d0cb5 in vcl::Window::Invalidate (this=0x33912050,
nFlags=InvalidateFlags::NONE)
at
/home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/vcl/source/window/paint.cxx:1148
#2 0x00007377177e0d26 in Edit::ImplInvalidateOrRepaint
(this=<optimized out>) at
/home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/vcl/source/control/edit.cxx:450
#3 0x00007377177e47c0 in Edit::ImplAlignAndPaint (this=0x33912050) at
/home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/vcl/source/control/edit.cxx:1166
#4 Edit::ImplInsertText (this=0x33912050, rStr=...,
pNewSel=0x7ffe6111c510, bIsUserInput=<optimized out>)
at
/home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/vcl/source/control/edit.cxx:881
gdb on the coredump says mpWindowImpl in vcl::Window::ImplInvalidate()
was nullptr.
Change-Id: I06f99b5ede457c4487e97e8259890b29e54804d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194112
Reviewed-by: Caolán McNamara <[email protected]>
Reviewed-by: Noel Grandin <[email protected]>
Tested-by: Caolán McNamara <[email protected]>
commit d1f9338afcbb5c3d06b3b124d9ca4e21f60b6a26
Author: Miklos Vajna <[email protected]>
Date: Thu Nov 13 08:42:21 2025 +0100
vcl: fix crash in JSTreeView::render_entry()
Crashreport signature:
#0 SvTreeListEntry::GetUserData (this=0x0) at
/home/collabora/online-buildscripts/staging/builddir/libreoffice/include/vcl/toolkit/treelistentry.hxx:109
#1 SalInstanceTreeView::CustomRenderHdl (payload=..., this=0x32ad68f0)
at
/home/collabora/online-buildscripts/staging/builddir/libreoffice/vcl/source/app/salvtables.cxx:5168
#2 SalInstanceTreeView::LinkStubCustomRenderHdl (instance=0x32ad68f0,
data=std::tuple containing = {...})
at
/home/collabora/online-buildscripts/staging/builddir/libreoffice/vcl/source/app/salvtables.cxx:5163
#3 0x00007f3dfddaba0c in Link<std::tuple<OutputDevice&,
tools::Rectangle const&, SvTreeListEntry const&>, void>::Call (data=...,
this=<optimized out>)
at
/home/collabora/online-buildscripts/staging/builddir/libreoffice/include/tools/link.hxx:111
#4 SvTreeListBox::DrawCustomEntry (this=<optimized out>,
rRenderContext=..., rRect=..., rEntry=...)
at
/home/collabora/online-buildscripts/staging/builddir/libreoffice/vcl/source/treelist/treelistbox.cxx:2881
#5 0x00007f3dfe0d7d83 in JSTreeView::render_entry (this=0x32ad68f0,
pos=74, dpix=<optimized out>, dpiy=<optimized out>)
at
/home/collabora/online-buildscripts/staging/builddir/libreoffice/vcl/jsdialog/jsdialogbuilder.cxx:1887
And gdb on the coredump days rEntry is nullptr.
SvImpLBox::ScrollToAbsPos() checks for the GetEntryAtAbsPos() return
value already, do the same here.
Change-Id: I48c5b59a5e5b5d7e4e15b67264836927c45dd7f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193939
Tested-by: Jenkins CollaboraOffice <[email protected]>
Reviewed-by: Caolán McNamara <[email protected]>
(cherry picked from commit 4a75ae2e2c7405a5f3f431e38b0245974970adf7)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194016
Reviewed-by: Szymon Kłos <[email protected]>
Tested-by: Miklos Vajna <[email protected]>
commit a3a3d078fbe4382afd203d2a79c48b04750161da
Author: Andras Timar <[email protected]>
Date: Mon Nov 17 12:04:21 2025 +0000
CODA-W: update default build config
Change-Id: Ie4942ecd90c92b2651c9cbf144a6c2c3cec7f104
commit 75f6a75109be7d3d738cb3771b456a7fd3b30c2f
Author: Andras Timar <[email protected]>
Date: Sat Nov 15 09:52:43 2025 +0100
CODA-M: we want bundled templates (disabled by LOKit config)
Change-Id: Ibe340ce83cc11d89b09a124963831306ebde464b
commit ffb72259668bd1f9c053763cf930a9a35566a778
Author: Andras Timar <[email protected]>
Date: Wed Nov 12 07:34:35 2025 +0100
--disable-extensions disables hunspell dictionaries, let's remove it!
Change-Id: I43bd5d0568ff61968ba91b96c0f6f720b97cea8e
commit d27919d6254efd918fb164d4bd8c17f5eb852360
Author: Andras Timar <[email protected]>
Date: Tue Nov 11 23:40:30 2025 +0100
Revert "coda-m: Disable the spell-checking for now"
This reverts commit fb1e5a6ce8455a1e7e82ec8e810c7a113337928f.
Reason: there was a deadlock gotcha with the macOS NSSpellCHecker
but it has been fixed for the svp backend already.
Change-Id: I05be17fb49f9e6f9b6665b4a25847707bb35cea9
commit 3270d63815bf446ce28af927ae28f337b715200e
Author: Caolán McNamara <[email protected]>
Date: Tue Nov 11 13:46:56 2025 +0000
save/restore docId in Application::Reschedule
similar to what we do for viewID.
On attemting to load multiple documents StatusIndicator::start calls
Application::Reschedule during load of document #1.
That inner loop ends up loading document #2. The inner loop ends, and
load of document #1 completes in the outer loop.
Unfortunately the inner loop left the current DocumentId as that of the
inner document #2, so the document id set on the view of #1 is
incorrect.
Extend the similar fix for viewId switching during Reschedule to restore
the docId. If this Reschedule happens at any other time except load then
restoring the viewId is sufficient to identify the correct document, but
in the load case there is no viewId yet
Move the mnCurrentDocId out of sfx2 and ViewShell into comphelper so
it's available from vcl without needing to make any adjustments to
LibreOfficeKit.h[xx]
Change-Id: Ied70e0f9ff33f2587cfbcb02b0c9ca3cd4792cfd
commit 2f3f8e3f7e3c1c3bd6ed6f601db85e3a37f4bffc
Author: Andras Timar <[email protected]>
Date: Wed Nov 5 17:15:05 2025 +0100
CODA-M: add --without-system-dicts to config
We have --with-system-dicts inherited from CPLinux-LOKit.conf
which is invalid on macOS.
Change-Id: Ieabdc60676c8582741d1bd52b88d5f7e9878875a
commit afd7363c1a511f5ecbe9a2949bfd82f06b6b56ad
Author: Tor Lillqvist <[email protected]>
Date: Wed Nov 5 11:47:22 2025 +0200
Don't fail assertion in Task::~Task() if LibreOfficeKit is active
Apps using LibreOfficeKit often have unusual lifecycles.
Change-Id: Ie113d7458cff10beba2e44181d0b6ce5758a7634
commit 3ca8efe8353425b284f16ae78b3fefac0d3f8ce0
Author: Tor Lillqvist <[email protected]>
Date: Tue Nov 4 20:40:34 2025 +0200
Make the CODA-W PDF export file save dialog hack a bit more secure
Look for the mangled ++ name, to catch a potential mismatch in
function signature. Also, check that the returned function pointer is
non-null before calling it.
Change-Id: Ib2e0d1cd4b3e26081800b736b74e5972d0819736
commit 0c9f2f5c6566793b377eb2809dd6b56fc296244b
Author: Tor Lillqvist <[email protected]>
Date: Tue Nov 4 17:33:28 2025 +0200
Add horrible hack to ask the filename when exporting PDF in CODA-W
The PDF export functionality displays a dialog from JavaScript that
allows the user to choose various PDF parameters. But unlike export to
other formats, no system file save dialog gets displayed by CODA. So
do something horrible: Look up a function in CODA.cpp and call it
directly. Sorry.
Change-Id: I21932b2ba67d3aab72463d51f8ef71182ca5c736
commit f20972eda9f6940fea6e9fba33aa664aec1041da
Author: Andras Timar <[email protected]>
Date: Mon Nov 3 17:17:43 2025 +0100
CODA-W: disable CLI; this app is not for .NET automation
Change-Id: I0a2c8df9aac7afc8ec0aa1f6d6b92acd65b05851
commit 3531c6decf20a8fa5b24325e5e9d61306e8b0edd
Author: Andras Timar <[email protected]>
Date: Mon Nov 3 11:17:21 2025 +0100
CODA: Sensible font bundling settings for desktop
Change-Id: Ic2dc242b653f248516dcdd550ab528c904e3d061
commit 511902ac41923285922b52308a0f032c1af41096
Author: Andras Timar <[email protected]>
Date: Mon Nov 3 07:48:58 2025 +0100
CODA: Disable build of Skia on Windows and macOS
It should be implied with LOKit config (--disable-gui), for some
reason --diable-gui was not added to these configs. It needs
investigation why. We can still disable Skia, it's unused.
Change-Id: If8700d859593d2c7db4f6dcc6c612a70433cd2c0
commit 99a424da47338ce75ce5246565a610af13f43847
Author: Tor Lillqvist <[email protected]>
Date: Sat Nov 1 23:15:36 2025 +0200
Make pixman build for Windows on ARM64
Also silence more warnings in pixman and cairo.
Change-Id: Ic00c0ece203a0bdac5407f958c446ac8147093b1
commit e1d12a25c76dd663f4674624f3b27826700cb5cc
Author: Tor Lillqvist <[email protected]>
Date: Mon Aug 18 13:33:04 2025 +0300
Remove pointless assertion
After cc93fa1d10c86d7bad938dcdbb671b5a8bd78def the function handles
viewShell being null so no need to fail an assert if it is null.
Change-Id: Ie7d398f300e5eb695ae249291b9b8611dddc6423
commit 433abfd7ef808b306450d8355eebad176e2f49c6
Author: Tor Lillqvist <[email protected]>
Date: Tue Jul 15 15:10:32 2025 +0300
Downgrade an assert to a warning
Change-Id: I26b623ded575e2c0b22dff19ae6cabae42003c1c
commit 371f2922e9b945ef9d59c46b4244867d69917dbc
Author: Tor Lillqvist <[email protected]>
Date: Fri Jul 11 16:19:11 2025 +0300
Clarify that freeError() despite its name is a generic LOKit deallocation
API
Especially on Windows it is important to not call free() in your own
code on a pointer returned from some random other dynamic library
(like the one the desktop/source/lib/init.cxx code goes into). It
might have been allocated by calling malloc() (etc) in a C runtime
library that is different from the one used by your code. That will
lead to a crash.
One should alays call the free() in the same C runtime where the
malloc() that allocated the pointer is.
Add a wrapper called freeMemory() to the C++ API.
Change-Id: Ibf9cf6fad2c30c4416d2a1f6badbd161c7ba18a6
commit 076eabb55ef0e1fb58fa95452c1197a427931e6b
Author: Tor Lillqvist <[email protected]>
Date: Tue Jul 15 09:23:41 2025 +0300
Use more obvious macro names
Instead of TARGET_LIB, just call it SOFFICEAPP_LIB, as it is the
"sofficeapp" dynamic library that it always refers to. And instead of
TARGET_MERGED_LIB, just call it MERGED_LIB, as that always refers to
the "mergedlo" dynamic library.
Change-Id: Ic3a8f29cd9b168f064bc2d02f15341b5ea1afef0
commit d07ab93d21b4c7226488e92a32737aab6de5344f
Author: Tor Lillqvist <[email protected]>
Date: Mon Jul 14 21:02:29 2025 +0300
Don't even try to load a clearly bogus sofficeapp library
If it is smaller than 1000 bytes it can't be real, it must be the
dummy text file in the --enable-mergelibs case.
Change-Id: Ib3a913830bf34dc1e17955626576e72f5f7cd2d7
commit 97c187b1739c9e2d448aae0cee384829ab63ebcf
Author: Tor Lillqvist <[email protected]>
Date: Mon Jul 14 11:31:05 2025 +0300
Make avmediawin conditional on AVMEDIA
Change-Id: I2cdec861d840d5987a70c26fd1b61ba1f39f0a30
commit eee75962c7d2b8abb9f9f1065d293a69b25d7d86
Author: Sarper Akdemir <[email protected]>
Date: Wed Jun 25 12:37:54 2025 +0200
make compilerplugins/clang/checkconfigmacros.cxx happy
Signed-off-by: Sarper Akdemir <[email protected]>
Change-Id: Ic4bd3f1fd96719043b767799390b38d7bbcd0cde
commit efafd7f9854b44630b8a740194c6fccda640934f
Author: Tor Lillqvist <[email protected]>
Date: Tue May 27 10:48:36 2025 +0300
Add some DISABLE_DYNLOADING ifdefs to osl/w32, as for unx
Lots of things will have to be tweaked to build core statically for
Windows. This is just one small isolated and fairly obvious trivial
commit. (Assuming that in the disable-dynloading case, for Windows we
want to ´drop the same dynamic library loading functions in osl as for
Unixish systems.)
Change-Id: Ica0a00d7a3d5b85e5eb933ebd5722824fbf5deeb
commit 5604c8c5017480a6ca6c41698b3062fb7395a4eb
Author: Tor Lillqvist <[email protected]>
Date: Mon Apr 21 15:14:21 2025 +0300
Accept Homebrew pkg-config also on an Intel Macs
On Intel Macs, Homebrew sadly uses the installation prefix /usr/local
and not /opt/homebrew.
Change-Id: I96a15dc69292799168cb67514b841a977dc353ad
commit 75f59ff9e0fe302577830025ed47128a944b25d3
Author: Tor Lillqvist <[email protected]>
Date: Mon Apr 14 18:54:35 2025 +0300
Make the fontconfig Windows patch apply to fontconfig 2.16.1
Note that this patch is for now just a start of work that is paused
for now. The handling of non-ASCII filenames in the external libraries
that in the CODA case are now used also on Windows is likely very
broken, and needs to be carefully checked and modified. The new
<tools/UnixWrappers.h> thing, with additional work, will probably be
used.
Change-Id: I30cb09747a8de8716608669a75c872b73812b3f0
commit 8139111bab0e37bbabdffbebbfd21e9d3717d42c
Author: Jan Holesovsky <[email protected]>
Date: Mon Apr 14 13:24:46 2025 +0200
Apply windows-related patch only on Windows
Change-Id: I353bf22d7b7d722d8c337b1ce2babea12b434a50
commit cd990ce0a77a80716998fc09d252c76c7baece09
Author: Jan Holesovsky <[email protected]>
Date: Mon Apr 14 09:44:40 2025 +0200
Fix build failure due to undefined HAVE_FEATURE_AVMEDIA
Change-Id: I32583bfae2bc97a5bddedcf50a4bd6c36518cdc2
commit 8811111e3729c2fb10ece0ce34f911e9454b5485
Author: Tor Lillqvist <[email protected]>
Date: Tue Apr 8 16:58:59 2025 +0300
Add --enable-msvc-debug-runtime to use that even without dbgutil
Adapt libxml2 build accordingly. It's MSVC_USE_DEBUG_RUNTIME we should
check to see whether the ICU libraries have a 'd' suffix in their
names, not ENABLE_DBGUTIL.
Change-Id: Ic817e3c15e7164478ae557627047d3793e3a88c7
commit 58c55c5940c08cd3de89abbe9f3655c92b27f388
Author: Tor Lillqvist <[email protected]>
Date: Tue Apr 1 11:16:59 2025 +0300
Add some missing gb_StaticLibrary_use_unpacked calls
I had missed that such are needed, which explains why I had had to
manually hand-hold the build of those externals. (These are built as
static libraries, for now, only for CODA-W.)
Change-Id: Ib19ed82e0ab443b7ddfab254ed5754efd013bdf1
commit 73a6b6218e6b92310dd336b5cf5f67f4a5926b85
Author: Tor Lillqvist <[email protected]>
Date: Mon Mar 31 09:01:48 2025 +0300
We seem to need postprocess_fontconfig also for CODA-W, for make check
In that case, USE_HEADLESS_CODE will be non-empty, even if USING_X11
and DISABLE_GUI are empty.
Change-Id: I553407737395789acef2380e0b1edb824bbcbad8
commit bbe9b0932100682ce459c184142d86ec75e4f343
Author: Tor Lillqvist <[email protected]>
Date: Tue Mar 11 07:55:56 2025 +0200
Avoid MSVC warnings in freetype
Change-Id: I525c6dfdbf60ea7b464d8ddb4d765865ca94180d
commit dee24d92970fef0ba4f3a39c06a05418fe4dca2b
Author: Tor Lillqvist <[email protected]>
Date: Tue Mar 11 07:43:13 2025 +0200
Ignore two more warnings from MSVC in fontconfig
Change-Id: If949c2c73d2caa25f150691e3af2dc5b5c73b943
commit f5298e138f11a4cffa57c66d1e64911f1e5dec8a
Author: Tor Lillqvist <[email protected]>
Date: Mon Mar 3 15:18:24 2025 +0200
Using the avmedia library is not optional in Library_sc.mk either
Change-Id: Iff278fe5682bbfa04952bf4917765fa07c9835e2
commit 88b32cb19eacde6e98a343cae7e3e87c83502da2
Author: Tor Lillqvist <[email protected]>
Date: Mon Mar 10 18:46:33 2025 +0200
We do need salsrc.res also in the --enable-headless case
Change-Id: I4e53550585a156bb0be09eaaa97ef29f90f9bba8
commit eb30b0d8e3984d679b7b0f5710822db06ff8c829
Author: Tor Lillqvist <[email protected]>
Date: Mon Mar 10 19:43:12 2025 +0200
Fix build on Windows with --enable-headless
Change-Id: I93c7eaf69b0911d589b539cb78a70a48d580d0f4
commit f4528b82e4aa04f9457543af166e4d837406257b
Author: Tor Lillqvist <[email protected]>
Date: Mon Mar 10 17:30:44 2025 +0200
Update the Windows build of fontconfig for 2.16.0
As before, use files generated on Linux, modified where needed.
Change-Id: I0ed6f93d7215e135d1333fff9c8a60bf9fcafa04
commit 1c8246d716407ec4285fa011be3eb9cb5244a387
Author: Tor Lillqvist <[email protected]>
Date: Mon Mar 10 16:13:12 2025 +0200
Avoid duplicated files in the Ẃindows --enable-headless case
Change-Id: I7aad14b5830374d37980a1b5c8c358cff19e15b5
commit 94802b4c515d158bdb96636fb8e8aaf0bc1f6384
Author: Tor Lillqvist <[email protected]>
Date: Mon Mar 10 16:01:40 2025 +0200
Use gb_UnpackedTarball_workdir
Change-Id: I4ce3c487425191bba4f004e8a93fb81d7316c700
commit 36893954ff584738eb9aa3b234d8807969dd0238
Author: Tor Lillqvist <[email protected]>
Date: Tue Feb 25 19:52:15 2025 +0200
Make --enable-headless possible also on Windows, for CODA-W
We variously look at both ENABLE_HEADLESS and USE_HEADLESS_CODE to
check for the --enable-headless case. Are both really needed?
In the --enable-headless case, freetype, fontconfig and cairo are
built. For now, cairo is built as a Library (DLL), but fontconfig and
freetype as StaticLibrary. Possibly should change these to DLLs,
too. (See preceding commits.) Do not build the vclplug_win.
Windows-specific fixes to the headless vcl code, and headless-specific
fixes to some Win32 vcl code. Use <tools/UnixWrappers.h> where
appropriate instead of <unistd.h>, <sys/mman.h>, etc.
fontconfig already has code for Windows, but likely things will break
on machines with a non-ASCII name for the Windows fonts directory, or
for funky font names. Should eventually make it use the new
<tools/UnixWrappers.h>.
Change-Id: Id3a1313083b1c7c44b0b26819c1ffb5138e15bc4
commit ade474c8f10cbd22515251e4c49ffacb4f85c086
Author: Tor Lillqvist <[email protected]>
Date: Tue Feb 25 19:52:15 2025 +0200
Add possibility to build cairo for Windows
As a Library, i.e. DLL. Using our build mechanism, not its own. This
commit does not yet actually add any configury to get it built,
BUILD_TYPE will never contain CAIRO on Windows. Running "make cairo"
won't work.
Change-Id: Ia0fb98471bea92ffb60a0d2a941a378c1fbc6b29
commit d2aa16fa36804c41c573296c5cbe4162380ca1d0
Author: Tor Lillqvist <[email protected]>
Date: Tue Feb 25 19:52:15 2025 +0200
Add possibility to build fontconfig for Windows
As a StaticLibrary for now. Using our build mechanism, not its
own. This commit does not yet actually add any configury to get it
built, BUILD_TYPE will never contain FONTCONFIG on Windows. Running
"make fontconfig" won't work.
Change-Id: I067d0d14dc4a1d99b4aae656b5f948c0a9952633
commit 897c575de9d22b5e36786625f7e3c26d6ed691d8
Author: Tor Lillqvist <[email protected]>
Date: Tue Feb 25 19:52:15 2025 +0200
Add possibility to build freetype for Windows
As a StaticLibrary for now. Using our build mechanism, not its own
configury and makefilery. This commit does not yet actually add any
configury to get it built, BUILD_TYPE will never contain FREETYPE on
Windows. Running "make freetype" won't work.
Change-Id: I30dc2ece4e69687ea02a407f8b2fbbfe70e79ba2
commit 0e4d2c83ddf53a22f73eccc55e35e9f49d248e7c
Author: Tor Lillqvist <[email protected]>
Date: Thu Feb 27 23:47:55 2025 +0200
Add wrappers to use Unix-style file APIs on Windows
Of course, LibreOffice has tons of APIs from before whose whole point
is to hide system dependencies behind a cross-platform API. All the
"sal" and "osl" stuff, for starters. The wrappers in this file is not
intended to replace those. The point with these wrappers is to quickly
port code that was written for Unix *only* to Windows, with minimal
changes to the source code. Basically you just need to prefix calls to
functions like open() and stat() with wrap_.
In Windows, "file descriptors" are a thing in the C library, not the
operating system. But the C library does provide the same core set of
functionality as Unix-like systems do. The functions use almost the
same names, except that for some reason, to avoid compilation
warnings, you need to call variants with names preceded by an
underscore, like _close().
Another Windows complication is that the file system is based on
UTF-16 names. You can't just pass file names as eight-bit characters
to _open() and expect it to work for all file names. Instead, you need
to call a function with a "w" prefix, like _wopen(), that takes a wide
character string (UTF-16).
This header is in C, not C++, because we want it to be usable from
some external libraries written in C that we compile as part of
LibreOffice in some circumstances, particularly for Windows.
All functions behave like the wrapped ones, set errno on errors.
Change-Id: Ia093ccf976659ceabbef6e0071da73d4df0b63b7
commit fa4a3de1411ac051d5ceec0d16f1581a13a763ec
Author: Tor Lillqvist <[email protected]>
Date: Tue Feb 25 18:36:57 2025 +0200
Drop use of <sys/time.h> in vcl/headless/svpinst.cxx
Instead use <tools/time.hxx> functionality, more specifically
tools::Time::GetMonotonicTicks(). More portable.
Change-Id: If05de20ad637e22fd2ab6c8287796a8e31c6d90d
commit e1f7d12413011a05254ccf34044fd6292d1c3e14
Author: Tor Lillqvist <[email protected]>
Date: Mon Feb 24 15:00:53 2025 +0200
Fix typo in --enable-cairo-rgba help string
Change-Id: Ib14c05419d3f165d4917bc074de042479cc35b8e
commit 348a6c180d6792504cd38af81d55a15018a4e09d
Author: Jan Holesovsky <[email protected]>
Date: Tue Jan 28 13:18:36 2025 +0100
coda-m: Disable the spell-checking for now
It turns out the [[NSSpellChecker sharedSpellChecker] availableLanguages]
never returns when the Cocoa main loop is not running. Not possible to
check for that reliably, so let's disable it for now (when running as
"svp").
Change-Id: Ia5c0236c51da3c1ab9d383246c27e3429c6005ad
commit 532e1bcde1ad267ab279ce7153e51926c3ee9dc6
Author: Tor Lillqvist <[email protected]>
Date: Mon Jan 20 09:37:08 2025 +0200
_FORTIFY_SOURCE has a meaning only in glibc
Change-Id: Ia087324841e4019d414d5ae3c845e80c7a7d1b73
commit 0b8dec45833b9b5bfac2d797d5c26b9767f6e5d3
Author: Tor Lillqvist <[email protected]>
Date: Wed Jan 15 11:59:59 2025 +0200
Rename file-local ImplYield() to InnerYield() to reduce potential confusion
There are other functions called ImplYield in vcl, it's annoying to
confuse them.
Signed-off-by: Tor Lillqvist <[email protected]>
Change-Id: Id184f96d74a88dc9b90181a4945f0707865d24f6
commit 740235273316c5e4f2b70f8ac300a57d7dad85ee
Author: Tor Lillqvist <[email protected]>
Date: Mon Dec 9 18:51:01 2024 +0200
Fix build on Windows with --disable-opencl
Change-Id: Ie85150aca1f4896e4e1d265a38dbeb19e92e53fe
commit 722f1c594aa61335a5b0a93d91fce000299acab2
Author: Jan Holesovsky <[email protected]>
Date: Wed Nov 27 13:48:02 2024 +0100
coda-m: Don't skip the tile painting on macOS
Change-Id: Iecbb24f2bc4b3824cd556baa864327c0c52b1475
commit 87f03e473364459802a929d0804100f410a7d834
Author: Jan Holesovsky <[email protected]>
Date: Tue Nov 19 11:01:42 2024 +0100
Allow running and debugging right from Xcode
Using gmake from Homebrew, as LODE does not work for me at all.
Change-Id: Id2a4206ec7080d87ec2a3f40dcdef2ab3d23d1c2
commit f65bfca4e369fc0e14f67850d624e69c001bf1db
Author: Jan Holesovsky <[email protected]>
Date: Mon Oct 21 10:02:59 2024 +0200
pkg-config from Homebrew seems not to cause trouble
Change-Id: I26e00cffe1eead5b6313bcf471aeecbfddba3388
commit 8433a25e68bc77b85301885ba62745f163e93631
Author: Jan Holesovsky <[email protected]>
Date: Mon Oct 21 09:21:19 2024 +0200
Check that the build starts with the right make version
Can be a problem on macOS - where the 'make' is version is too old for
gbuild.
Change-Id: I1039072a2c36b9f960467176118bce457732f0b7
commit a446c2e206c76bb910f75fad9e3a0c8742bdd52e
Author: Tor Lillqvist <[email protected]>
Date: Wed Oct 9 14:45:47 2024 +0300
Put mxDropMediaSizeListener inside HAVE_FEATURE_AVMEDIA
Change-Id: I442d81f4817fbd28ff04e91c1503f947890007fc
commit 063104b218432df60853b5a7b27b0d46d3e8b405
Author: Tor Lillqvist <[email protected]>
Date: Wed Oct 9 14:44:57 2024 +0300
Move m_xPlayerListener inside HAVE_FEATURE_AVMEDIA
Change-Id: I59b96ddde501a91223b67ddf6f4eadc0e23bd2ef
commit f8641135a4e5a51c25d09fa88e8c6e22b81a152a
Author: Tor Lillqvist <[email protected]>
Date: Wed Oct 9 13:20:57 2024 +0300
Add missing double quotes and drop pointless assignment
The first assignment to PRODUCTNAME was immeditately replaced by the
one on the following line.
Change-Id: Icee223cbad3e864362abe8831cd1a4d5592499ab
commit 51fd3be810d52f52f7e78ffa75fe1197c20b54a5
Author: Tor Lillqvist <[email protected]>
Date: Wed Oct 9 14:01:19 2024 +0300
Add apparently missing check on missing both ENABLE_NSS and ENABLE_OPENSSL
Not sure if such a build makes sense, but it was something I tried
(and disregarded), and we have similar conditionals elsewhere.
Change-Id: Ic9d99e0acb70bdcf769e46a4dcdd27e340a905b7
commit edef4d902d321cfb5d11876e4c6d6af5bebe1e85
Author: Tor Lillqvist <[email protected]>
Date: Tue Oct 15 10:34:03 2024 +0300
Add initial attempt at CODA for Windows configuration