Age | Commit message (Collapse) | Author |
|
Change-Id: Ie010deb5cdf9da20f2ca60d79feabf1c0de93c57
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177669
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...before disappearing through the QApplication::exec() hole, or else the
SolarMutex would remain locked forever on the application's main thread.
This requires changing SalInstance::ReleaseYieldMutexAll() to
SalInstance::ReleaseYieldMutex(bool all). (Further recursive locking of the
SolarMutex via SolarMutexGuard instances that would be present on the call stack
leading up to the call to QApplication::exec() would be released during the
stack unwinding, so just undo the one acquiring done in InitVCL, not all of
them.)
Change-Id: I9ef57abb7da7f840999700e4eaeeefd2da784645
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171956
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
The functions are moved to o3tl as inline functions.
Change-Id: Ief7d7e292ef15e055ad04ab5707e5e6a2a05b916
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170636
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
In various places, the code checks if we are running as a unit test or a
UI test. This code grew organically, and is most re-using environment
variables that were designed for narrower purposes.
Rather than being clever, just add two new explicit and simple
environment variables in the natural place (the command that runs them),
and check for those variables in the code.
Change-Id: Icce0997914fa0be30a5ac1f29bd870bdb5893a8b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170618
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
rather than the system clipboard, which makes no sense, since then the
tests interfere with each other
Change-Id: I911e88f5547dfc4f3558b9ed3ef670cef4903420
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170574
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I5b6ee5bda0c5ff69d297f7f8e87d4c3f3d21791c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167470
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
Change-Id: I0ad88d402329bbc6882f53f6c20c22b97189a27f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155077
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
Change-Id: I77e8015efc4501793c2e80bc3208463a1523e9d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128751
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Adds DoQuit and SAL_USE_SYSTEM_LOOP to complement DoExecute.
Makes it easier to switch between a LO with and without nested
event processing. Unfortunatly the recovery dialogs run outside
of Application::Execute(), so this currently also disables
recovery handling.
Follow-up (and no more Emscripten-specific) change to commit
93133585b5b52e38defc3162eeb1e7704dceafcb ("WASM optionally run
any app via system loop").
Change-Id: I1b622065d7fa0c5ad03a7c7daaf8241dcc3f09a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128717
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Allows LO to run via system event loop instead of having an
own one and processing system events as needed. Needed for
WASM, so the browser isn't blocked, as there is no way to
run the browser mainloop from WASM. Generally an alternative
to running LO in a WebWorker and communicating to some
frontend.
Change-Id: I24955638827f3b8c04240845ffc781cd28f2aa29
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128602
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
While this makes the preprocessor usage even larger, the code in
salplug.cxx is now hopefully easier to follow. I added a comment
about the main code structure at the beginning.
It also includes changes to the generic plugin list to include
gtk3_kde5 before gen, qt5 and qt6 after gen, but still skips the
headless / svp plugin.
And I explicitly excluded salplug.cxx from the externandnotdefined
compiler plugin. I could have added a dummy, but that seemed not
worth the effort. My try on a non-dummy with correct includes and
defines made the code in salplug.cxx much harder to follow.
FWIW, the iOS VCL plugin actually seems to use the osx SalData, so
I think these changes to iosinst.cxx are more correct then commit
7d990aafdc363b2a12b5db78637d7f3bef7780bd ("VCL drop m_pInstance
from *nix SalData"). But hard to tell without a compiler.
Change-Id: I0e2944d4221ca5910fb2120cc8b24def5c5b3f33
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128477
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
... by moving it into ImplCreate(DragSource|DropTarget).
The existing Create* variant now checks for headless mode and the
IsRunningUnitTest flag, before creating the platform variants.
There are two small helpers to initialize either X11 or Ole based
UNO DnD interace implementations.
Unfortunatly Windows requires to move two dtrans header files, but
at least any other changes are minimal.
Change-Id: Id79459ad71a26243b1c9cb1fe38ab236b0ab8fa6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128049
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: Ifa4f5951d200eaad6c8aebd3f29eed053c927ff0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124051
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
... and as a result drop setting a default in SalSvpInstance.
This is also more consistent: now you must explicitly implement
CreateOpenGLContext() and set "m_bSupportsOpenGL = true".
Change-Id: I591580bf134907213b8308e0843c278d2f470ed3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121632
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
... and get rid of the whole GetBackendCapabilities, which was
just overkill. Maybe this should even be some bitmap + enum
+ set/get function, but I'm too lazy...
In the end add a bool for the OpenGL support of the VCL plugin
(or maybe sticking it into ImplSVData, which is already some
catchall for common VCL data).
Change-Id: I9f0ececac482d8e2a94ef6024628e9631b49e773
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120760
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
.. and convert Android to it. Will also be used by WASM.
It's also kind of a followup on commit
f5af2104fc490b90510e36bbf1d2adec8017c594.
Change-Id: I3a1b5bc2eae2692e706da10c6352534433c61e57
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116385
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I0701b15a28ab3583586c0c8018c511e100b41a93
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114948
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ice1055021e8568634e9a66ba89d3bb4ef4e731df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104522
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
so we can differentiate the case of embedded welded widgets co-sharing the
tab-cycle sequence with vcl widgets vs the case its all welded widgets
Change-Id: I5c57b4e98d2f5c543522a72e31d554a67c259307
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101485
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ic861003f522e76431fffaadc408d0a153b12d0e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99003
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
In case of notebookbar we need to remember the same id
in every builder for each view to be able to use
interim widgets. Then widgets are added to the same
map as main notebookbar widgets. SfxViewShell is
used as a common id as it is easily accessible.
Change-Id: I4fbf2da320396efc80b08bcee9e341c165b1a290
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97199
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97834
Tested-by: Jenkins
|
|
I came across this when seeing UITest_calc_tests2's
tdf118189.tdf118189.test_tdf118189 fail on Linux with SAL_USE_VCLPLUGIN=gen and
also on Windows, see the mailing list thread starting at
<https://lists.freedesktop.org/archives/libreoffice/2020-April/084822.html>
"Linux SAL_USE_VCLPLUGIN=svp and the clipboard". That email thread clarified
that the codified behavior of that non-LOK test was wrong. (While the LOK test
ScTiledRenderingTest::testMultiViewCopyPaste in
sc/qa/unit/tiledrendering/tiledrendering.cxx keeps working as intended.)
I did not find documentation for what arguments CreateClipboard shall support,
but things seem to work if anything but empty arguments is rejected with an
IllegalArgumentException.
Change-Id: I1918254cc15878ad43b8aa22aff7eb1c4bea73fe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91869
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: If65aef1249f54a87d7854c3fa2db4319a24a5a05
Reviewed-on: https://gerrit.libreoffice.org/85326
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Iac0c2b1a38c1f8011f9d8c9bbd1f344e77bf4f5b
Reviewed-on: https://gerrit.libreoffice.org/85083
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
If we fail to do this after runLoop - some Android VMs can get really
upset if we quit a thread without doing this, also ensure that we
AttachThread to new polling loop threads as we come in for good
measure - duplicate Attach's are NOPs.
Change-Id: I32454773af4e02c97df0b6c02f61b1dc74df80b0
Reviewed-on: https://gerrit.libreoffice.org/84956
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
(cherry picked from commit 7241382ccc0a028c5f08304090a6344e582db068)
Reviewed-on: https://gerrit.libreoffice.org/84969
Tested-by: Jenkins
|
|
improve the script to filter out more noise generated by library symbols
Change-Id: I22bf6037d56bc4015001825c3fb3b21a39d85e07
Reviewed-on: https://gerrit.libreoffice.org/84022
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I8bc5a73a91f28fcfd22ef716e9cf87d53997b1ad
Reviewed-on: https://gerrit.libreoffice.org/77337
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Change-Id: I0bd1d26f6fc4052b812fde33ebd1d63111426942
Reviewed-on: https://gerrit.libreoffice.org/76627
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ia47ab46f27e07b396aa324dd01af9d152b65de98
Reviewed-on: https://gerrit.libreoffice.org/75573
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
While the VCL plugins are dynamically loaded and therefore just
load their depending toolkit libraries, the GStreamer avmedia
backend now links against Qt and GTK+. The GStreamer API itself
is toolkit agnostic and the toolkit setup just uses a single
GStreamer symbol to create the specific video sink.
So the toolkit binding can simply be moved into the VCL plugin.
At the point of the GStreamer toolkit setup call the GStreamer
library is loaded by avmediagst, so the dlsym lookup should
never fail.
I also dropped the special GtkWidget handling. Using g_object_get
will increase the refcount of the widget. A g_object_unref after
adding it to the container seems to destroy it correctly.
Change-Id: I693947e441bceb4b09bc38920e308e39142d0a35
Reviewed-on: https://gerrit.libreoffice.org/73849
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Platform-specific subdirs are left alone:
android, ios, osx, quartz, win
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: Icbb906b7fbc960240c73c56d3dae2a78b06a0f53
Reviewed-on: https://gerrit.libreoffice.org/73754
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
This adds basic support for 32bit bitmaps for the SVP backend. For
other backends the support is disabled for now as we need to add it for
each backend separately and enable support.
When this patch is applied it is possible to a Bitmap with bit count
32, but currently no input filter uses this with the exception of the
new PngImageReader(libpng based), which is used only for the icons.
For a general support more things need to be implemented and tested:
- conversion back and fourth between 32-bit and 24-bit + 8bit alpha (or
other supported pairs)
- 'raw' export of the bitmap needs to be handeled properly (like in
SVM import/export) so it creates the correct image.
- input filters need to be checked and converted if this is necessary
- look for possible bugs when drawing transparent bitmaps
- check of UNO API
Change-Id: I7a7be0e6134dfdd9a7aeaef897131bb6e710ae7e
Reviewed-on: https://gerrit.libreoffice.org/69289
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
This restores the nested NSApplicationMain and default run loop
usage. Without it the Java AWT integration will start its own
event loop, effectively blocking any non-system event processing.
Reproducible via "Tools - Macros - Organize Macros - BeanShell...
- LibreOffice Macros - HelloWorld - helloworld.bsh - Edit".
The blocking can be prevented by overriding NSApplication::run and
running our own event loop using Application::Execute. But this
still doesn't show the Java AWT editor window and I couldn't find
any information how to fix this.
Since OSX now is a VCL plugin, this can't restore the old hook
mechanism, but instead adds a new function to SalInstance.
SalInstance initialization happens at InitVCL() start just a
little bit later in the call stack.
Somehow NSApplicationMain manages to run the Java VM in an extra
thread, so it doesn't block the main loop. Probably this could
also be handled by LO starting the JVM as a thread.
Further information for an implementation eventually can be found
in the "Technical Note TN2147" "JNI Development on Mac OS X."
Change-Id: I04a0c2bf7949571f1b678ada9ab3592e0fe30c1f
Regression-from: 925e2edb6f3f8fffcff9eddb31ed18bc77e2a690
Reviewed-on: https://gerrit.libreoffice.org/65836
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I00333677db711761510a35dfae5ce70d61fb9491
Reviewed-on: https://gerrit.libreoffice.org/63397
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ia124a4af642e449dc05f5bae2d5ca766bd67bd68
Reviewed-on: https://gerrit.libreoffice.org/62388
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ic099761eaff80349e985ccf62e3f4aa6b2e98022
Reviewed-on: https://gerrit.libreoffice.org/61103
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: Ie90af62eff146064c3b066a8f7ca1c3a69f44c39
Reviewed-on: https://gerrit.libreoffice.org/61102
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: If9c7c67f48311ac68ecc9f8e3a07f9bb7c73d962
Reviewed-on: https://gerrit.libreoffice.org/61101
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
After the refectoring in commit 4c93de2c921b ("merge
GenericSolarMutex and SolarMutex"), there is no more need to
prevent instantiation of comphelper::SolarMutex objects.
Since every VCL backend implements the yield mutex management in
the same way, we can move the general implementation into the
SalInstance.
While at it use std::unique_ptr for the yield mutex on Mac and
Windows platforms.
Change-Id: Ibe0610bd92b4623152ee14e7a35b52465d403720
Reviewed-on: https://gerrit.libreoffice.org/60570
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
since we hold it like that in Bitmap anyway
Change-Id: I6264dfaaae6210cb008df5db8a421fc80c508f5b
Reviewed-on: https://gerrit.libreoffice.org/55458
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and drop DestroyMenu, all the implementations just delete the object
Change-Id: I673997ea1a9c5216b100cafdc70a8f697732769b
Reviewed-on: https://gerrit.libreoffice.org/55501
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and drop DestroyMenuItem, all the implementations were just deleting the
pointer
Change-Id: I058817b963988b1e399279f61f45716a2cdba023
Reviewed-on: https://gerrit.libreoffice.org/55500
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and remove DestroyPrinter, doesn't not anything beyond delete'ing the
object
Change-Id: I25e14b962e65a0e131fae3ff5771c82920a4e375
Reviewed-on: https://gerrit.libreoffice.org/55498
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I85527407c0cd2d3b94565fd7e24b0616948c9b0f
Reviewed-on: https://gerrit.libreoffice.org/55497
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I3657980045290a4d65b2944afac04d610c0a94fd
Reviewed-on: https://gerrit.libreoffice.org/55496
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
look for virtual methods where all of the overrides of the method are
empty
Change-Id: I87d99a0b647700a8d53498e0ab5f0437d3508553
Reviewed-on: https://gerrit.libreoffice.org/54060
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I7c70f9c590dd63cca1dce16ce184fc7e14922de2
Reviewed-on: https://gerrit.libreoffice.org/53353
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
so a SfxTabPage can be parented by a vcl::Window or a welded native notebook tabpage.
That ways the same SfxTabPage can be used at the same time in both a native dialog
or a vcl dialog. The impl can be changed to the weld api, and when hosted in a native
dialog the vcl impl of that will be instantiated, while native otherwise. e.g.
print options appearing in print options dialog and general options.
This allows incremental changeover.
Change-Id: I6f1fed1e8d0898b01853bb878757bad41cbf9bba
Reviewed-on: https://gerrit.libreoffice.org/53193
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I33b1309a4b81bfd84449213099c4f3f781413e00
Reviewed-on: https://gerrit.libreoffice.org/52456
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
In the pre-initialization phase of the tiled rendering case
the SvpSalInstance is created in a different process and when
a new process is created (fork), the main thread identifier
does not match so it is required to update it.
Change-Id: I189e53f0b46c60f34a8016222079c9b1e2b3fef8
Reviewed-on: https://gerrit.libreoffice.org/50477
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Henry Castro <hcastro@collabora.com>
|