Age | Commit message (Collapse) | Author | Files | Lines |
|
V1037 Two or more case-branches perform the same actions. Check lines: 717, 733
Change-Id: I57fc125abb8c9a4c9dea197945f45b95b90e41b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175320
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
|
|
and
cid#1545841 COPY_INSTEAD_OF_MOVE
cid#1554682 COPY_INSTEAD_OF_MOVE
cid#1554686 COPY_INSTEAD_OF_MOVE
cid#1554715 COPY_INSTEAD_OF_MOVE
cid#1554750 COPY_INSTEAD_OF_MOVE
cid#1554759 COPY_INSTEAD_OF_MOVE
cid#1554770 COPY_INSTEAD_OF_MOVE
cid#1554779 COPY_INSTEAD_OF_MOVE
cid#1554794 COPY_INSTEAD_OF_MOVE
cid#1554800 COPY_INSTEAD_OF_MOVE
cid#1554826 COPY_INSTEAD_OF_MOVE
cid#1554836 COPY_INSTEAD_OF_MOVE
cid#1554862 COPY_INSTEAD_OF_MOVE
cid#1554865 COPY_INSTEAD_OF_MOVE
cid#1554872 COPY_INSTEAD_OF_MOVE
cid#1554883 COPY_INSTEAD_OF_MOVE
cid#1554906 COPY_INSTEAD_OF_MOVE
cid#1554921 COPY_INSTEAD_OF_MOVE
cid#1554926 COPY_INSTEAD_OF_MOVE
cid#1554946 COPY_INSTEAD_OF_MOVE
cid#1554956 COPY_INSTEAD_OF_MOVE
cid#1554970 COPY_INSTEAD_OF_MOVE
cid#1554986 COPY_INSTEAD_OF_MOVE
cid#1554991 COPY_INSTEAD_OF_MOVE
cid#1555013 COPY_INSTEAD_OF_MOVE
cid#1555037 COPY_INSTEAD_OF_MOVE
cid#1555050 COPY_INSTEAD_OF_MOVE
cid#1555057 COPY_INSTEAD_OF_MOVE
cid#1555066 COPY_INSTEAD_OF_MOVE
cid#1555067 COPY_INSTEAD_OF_MOVE
cid#1555083 COPY_INSTEAD_OF_MOVE
cid#1555097 COPY_INSTEAD_OF_MOVE
cid#1555135 COPY_INSTEAD_OF_MOVE
cid#1555140 COPY_INSTEAD_OF_MOVE
cid#1555146 COPY_INSTEAD_OF_MOVE
cid#1555148 COPY_INSTEAD_OF_MOVE
cid#1555149 COPY_INSTEAD_OF_MOVE
cid#1555155 COPY_INSTEAD_OF_MOVE
cid#1555157 COPY_INSTEAD_OF_MOVE
cid#1555168 COPY_INSTEAD_OF_MOVE
cid#1555195 COPY_INSTEAD_OF_MOVE
cid#1555196 COPY_INSTEAD_OF_MOVE
cid#1555237 COPY_INSTEAD_OF_MOVE
Change-Id: I90531c19c28dca77fe99c72efdfc0972c311da98
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175377
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
so we can fix a shutdown use-after-free in sot.
Change-Id: I32f83bd94627d72d7bee7ea2ebd6ab77a7f78435
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175335
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Instead of using a custom (non-recursive) std::mutex in the
extension manager dialog, hold the (recursive) SolarMutex instead.
As the backtrace in attachment 197155 in tdf#161625 (s.a. below)
shows, a recursive mutex is needed:
dp_gui::ExtMgrDialog::TimeOutHdl (frame 17) locks the mutex, then
dp_gui::ExtMgrDialog::startProgress (frame 6) wants to lock it
again, causing a deadlock.
(Switching ExtMgrDialog::m_aMutex to be a std::recursive_mutex
could be an alternative, but follow the common pattern of holding
the SolarMutex while doing UI stuff instead.)
Somewhat similar commit:
commit 406a7e9d452201f3fd53abc770da6eb9589fff92
Date: Wed Jul 10 12:46:50 2024 +0200
fix locking in UpdateRequiredDialog
Backtrace of deadlock:
#0 0x00007f883f6adc70 in ?? () from /usr/lib/libc.so.6
#1 0x00007f883f6b4b01 in pthread_mutex_lock () from /usr/lib/libc.so.6
#2 0x00007f87f3ea068e in __gthread_mutex_lock (__mutex=0x5782aab26e48) at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/x86_64-pc-linux-gnu/bits/gthr-default.h:762
#3 std::mutex::lock (this=0x5782aab26e48) at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/std_mutex.h:113
#4 std::unique_lock<std::mutex>::lock (this=<optimized out>) at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/unique_lock.h:147
#5 std::unique_lock<std::mutex>::unique_lock (__m=..., this=<optimized out>) at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/bits/unique_lock.h:73
#6 dp_gui::ExtMgrDialog::startProgress (this=0x5782aab26de0, _bLockInterface=0x80) at /home/user/libreofficetwo/desktop/source/deployment/gui/dp_gui_dialog2.cxx:779
#7 0x00007f883b4080a1 in Link<void*, void>::Call (this=0x7f86b0000c08, data=0x80) at include/tools/link.hxx:111
#8 ImplHandleUserEvent (pSVEvent=pSVEvent@entry=0x7f86b0000c00) at /home/user/libreofficetwo/vcl/source/window/winproc.cxx:2285
#9 0x00007f883b40616a in ImplWindowFrameProc (_pWindow=0x5782a76df9f0, nEvent=SalEvent::UserEvent, pEvent=0x7f86b0000c00) at /home/user/libreofficetwo/vcl/source/window/winproc.cxx:2849
#10 0x00007f883b6c711e in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=<optimized out>) at /home/user/libreofficetwo/vcl/source/app/salusereventlist.cxx:119
#11 SalUserEventList::DispatchUserEvents (this=0x5782a62edb08, bHandleAllCurrentEvents=false) at /home/user/libreofficetwo/vcl/source/app/salusereventlist.cxx:120
#12 0x00007f8833fb7827 in QtInstance::ImplYield (this=this@entry=0x5782a62edad0, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:447
#13 0x00007f8833fb9e11 in QtInstance::DoYield (this=0x5782a62edad0, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:469
#14 0x00007f883b70fc72 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/user/libreofficetwo/vcl/source/app/svapp.cxx:385
#15 Application::Yield () at /home/user/libreofficetwo/vcl/source/app/svapp.cxx:473
#16 0x00007f883b486415 in ProgressBar::SetValue (this=<optimized out>, nNewPercent=<optimized out>) at /home/user/libreofficetwo/vcl/source/control/prgsbar.cxx:199
#17 0x00007f87f3ea14ca in dp_gui::ExtMgrDialog::TimeOutHdl (this=0x5782aab26de0) at /home/user/libreofficetwo/desktop/source/deployment/gui/dp_gui_dialog2.cxx:976
#18 0x00007f883b6ff8c7 in Scheduler::CallbackTaskScheduling () at /home/user/libreofficetwo/vcl/source/app/scheduler.cxx:509
#19 0x00007f8833fd4013 in SalTimer::CallCallback (this=0x5782a77b83d0) at vcl/inc/saltimer.hxx:53
#20 QtTimer::timeoutActivated (this=0x5782a77b83c0) at vcl/qt6/../qt5/QtTimer.cxx:51
#21 0x00007f88341a3397 in ?? () from /usr/lib/libQt6Core.so.6
#22 0x00007f88341ab5e5 in QTimer::timerEvent(QTimerEvent*) () from /usr/lib/libQt6Core.so.6
#23 0x00007f883418d859 in QObject::event(QEvent*) () from /usr/lib/libQt6Core.so.6
#24 0x00007f8832efc8cc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt6Widgets.so.6
#25 0x00007f8834145aa8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt6Core.so.6
#26 0x00007f88342c7658 in QTimerInfoList::activateTimers() () from /usr/lib/libQt6Core.so.6
#27 0x00007f88343a9f99 in ?? () from /usr/lib/libQt6Core.so.6
#28 0x00007f8837877299 in ?? () from /usr/lib/libglib-2.0.so.0
#29 0x00007f88378d9ec7 in ?? () from /usr/lib/libglib-2.0.so.0
#30 0x00007f8837876795 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#31 0x00007f88343a82bd in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt6Core.so.6
#32 0x00007f8833fb789d in QtInstance::ImplYield (this=this@entry=0x5782a62edad0, bWait=<optimized out>, bHandleAllCurrentEvents=<optimized out>) at vcl/qt6/../qt5/QtInstance.cxx:458
#33 0x00007f8833fb9e11 in QtInstance::DoYield (this=0x5782a62edad0, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:469
#34 0x00007f883b70fc72 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/user/libreofficetwo/vcl/source/app/svapp.cxx:385
#35 Application::Yield () at /home/user/libreofficetwo/vcl/source/app/svapp.cxx:473
#36 0x00007f883b70fb90 in Application::Execute () at /home/user/libreofficetwo/vcl/source/app/svapp.cxx:360
#37 0x00007f883f8e1770 in desktop::Desktop::Main (this=0x7ffc2a5b0d28) at /home/user/libreofficetwo/desktop/source/app/app.cxx:1691
#38 0x00007f883b717e1e in ImplSVMain () at /home/user/libreofficetwo/vcl/source/app/svmain.cxx:228
#39 0x00007f883f90ef8a in soffice_main () at /home/user/libreofficetwo/desktop/source/app/sofficemain.cxx:121
#40 0x000057829d6f683b in sal_main () at /home/user/libreofficetwo/desktop/source/app/main.c:51
#41 main (argc=<optimized out>, argv=<optimized out>) at /home/user/libreofficetwo/desktop/source/app/main.c:49
Change-Id: I96d746eb1493aaf5b56d50664c9d1817699f21bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175298
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com>
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
|
|
and
cid#1554878 COPY_INSTEAD_OF_MOVE
cid#1554907 COPY_INSTEAD_OF_MOVE
cid#1555082 COPY_INSTEAD_OF_MOVE
cid#1555224 COPY_INSTEAD_OF_MOVE
cid#1555301 COPY_INSTEAD_OF_MOVE
cid#1555378 COPY_INSTEAD_OF_MOVE
cid#1555395 COPY_INSTEAD_OF_MOVE
cid#1555452 COPY_INSTEAD_OF_MOVE
cid#1555466 COPY_INSTEAD_OF_MOVE
cid#1555514 COPY_INSTEAD_OF_MOVE
cid#1555566 COPY_INSTEAD_OF_MOVE
cid#1555753 COPY_INSTEAD_OF_MOVE
cid#1555782 COPY_INSTEAD_OF_MOVE
cid#1555825 COPY_INSTEAD_OF_MOVE
cid#1555842 COPY_INSTEAD_OF_MOVE
cid#1555891 COPY_INSTEAD_OF_MOVE
cid#1555917 COPY_INSTEAD_OF_MOVE
cid#1555961 COPY_INSTEAD_OF_MOVE
cid#1556021 COPY_INSTEAD_OF_MOVE
cid#1556055 COPY_INSTEAD_OF_MOVE
cid#1556307 COPY_INSTEAD_OF_MOVE
cid#1556349 COPY_INSTEAD_OF_MOVE
cid#1556436 COPY_INSTEAD_OF_MOVE
cid#1556665 COPY_INSTEAD_OF_MOVE
cid#1556696 COPY_INSTEAD_OF_MOVE
cid#1556718 COPY_INSTEAD_OF_MOVE
cid#1556775 COPY_INSTEAD_OF_MOVE
cid#1556835 COPY_INSTEAD_OF_MOVE
cid#1556877 COPY_INSTEAD_OF_MOVE
cid#1556994 COPY_INSTEAD_OF_MOVE
cid#1557010 COPY_INSTEAD_OF_MOVE
cid#1557074 COPY_INSTEAD_OF_MOVE
cid#1557111 COPY_INSTEAD_OF_MOVE
cid#1557142 COPY_INSTEAD_OF_MOVE
cid#1557163 COPY_INSTEAD_OF_MOVE
cid#1557164 COPY_INSTEAD_OF_MOVE
cid#1557214 COPY_INSTEAD_OF_MOVE
cid#1557254 COPY_INSTEAD_OF_MOVE
cid#1557322 COPY_INSTEAD_OF_MOVE
cid#1557327 COPY_INSTEAD_OF_MOVE
cid#1557492 COPY_INSTEAD_OF_MOVE
cid#1557565 COPY_INSTEAD_OF_MOVE
cid#1557663 COPY_INSTEAD_OF_MOVE
cid#1557798 COPY_INSTEAD_OF_MOVE
Change-Id: I2ae9c184dcc18d44a65437e18c49e16b27f4d81d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174893
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
...as is convenient for some experiments
Change-Id: I74aedb38ecc0f7b5a0d913799f649dce77dc7bba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174753
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
|
|
and
cid#1607663 Data race condition
cid#1606843 Data race condition
cid#1608340 Check of thread-shared field evades lock acquisition
Change-Id: I97b82d4302ead6b96ae19c15502c427952df2ede
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174566
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
No idea why my local Windows build started to only now fail with
> [build CXX] desktop/source/app/updater.cxx
> C:\lo\core\include\vcl/svapp.hxx(491): error C2208: 'void': no members defined using this type
> C:\lo\core\include\vcl/svapp.hxx(491): warning C4091: 'static ': ignored on left of 'void' when no variable is declared
or how to potentially address that properly with prewin.h/postwin.h...
Change-Id: I8afbc0c485505ee8ab2cb956c58835bb6a73cab8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174390
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
|
|
to avoid:
vcl/source/app/dbggui.cxx:35: void ImplDbgTestSolarMutex(): Assertion `ImplGetSVData()->mpDefInst->GetYieldMutex()->IsCurrentThread() && "SolarMutex not owned!"' failed.
Change-Id: I6d56bb05e8a89190838c5437043bc61034607d8e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174328
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Crashreport backtrace:
> program/libmergedlo.so
> getStyles
> desktop/source/lib/init.cxx:6411
> program/libmergedlo.so
> doc_getCommandValues
> desktop/source/lib/init.cxx:6666
Which is probably a call on an already disposed document. Fix it similar
to how getFonts() does it.
Change-Id: I1744bd04b7ebdea1b69ca121b8cfa47314d67528
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174372
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I8ff1c3c333b2a44871150da3929501dec00613e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174313
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
compatibility"
This reverts commit ebd3f0971b843527ed493a35b2303c8c15b94109.
Conflicts:
desktop/win32/source/loader.cxx
vcl/win/window/salframe.cxx
Reason for revert: This fallback functionality was documented as deprecated at
<https://wiki.documentfoundation.org/index.php?title=ReleaseNotes/24.8&oldid=738731>
"fundamental.override.ini", to "be removed in a later version", which is
happening now for LO 25.2.
Change-Id: I40a1800f6a05fc7fd7188917083b269ce6a9f1d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163394
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
Adds the option to convert a reply comment into a new top comment
while preserving the parent-child realtions of the other comments
in the thread.
Change-Id: I3cd5e5466fadc2226651d7c244b5139ec2d1f949
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173051
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173870
Reviewed-by: Jaume Pujantell <jaume.pujantell@collabora.com>
Tested-by: Jenkins
|
|
In case signing certificate would be stored in the model (like it
happens on the desktop), then the certificate viewer would show all
signing certs of the currently editing users, which is far from
expected.
At the same time, there is just one NSS database per process, so it's
hard to not have them in the same database.
Fix the problem by storing a reference to the signing key in the view
shell, then we can show only that in xmlsecurity/ in LOK mode, and thing
else.
This is just the sfx2/ side of things, the xmlsecurity/ part still needs
implementing.
Change-Id: Id7a56f28598ec60217c6bac095c2ff350f39bc3b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173837
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
The desktop way to sign documents is to manually import a .p12 file into
your Firefox user profile, and then the signing key is available in all
views. The LOK case wants per-view signing certificates, set in a way
similar to the name of the user.
Start implementing this by:
1) Extending initializeForRendering() to have JSON entries for the
signing cert/key/ca chain.
2) Importing the CA chain as trusted certificates, using a new
SfxLokHelper::extractCertificates() + test for this.
3) Marking a certificate as trusted is tricky, extract
SfxLokHelper::addCertificate() from the existing doc_addCertificate()
to do this.
4) Parsing the signing certificate, but just warn if that fails, still
need to connect that to the SfxViewShell later.
Change-Id: I00e40b3cdd68dbe8994f28861dc7b0f578189643
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173806
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
The suggested canvas size need to be passed to createSlideRenderer.
masterPageObjectsVisible -> masterPageObjectsVisibility as on client.
Last json message should be reset on each call to renderNextLayer.
In order to avoid to send empty layer check if the json message has
been set.
After rendering the background layer we need to return or the layer
is never received.
Change-Id: I9a83895d4f3895f3363c1b6a86fac9bd22c9fe87
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173728
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
I want to improve extractCertificate() so it can work on a certificate
chain, but that's easier when this code is not directly in desktop/, but
at some lower level.
This allows covering the code with tests from CppunitTest_sfx2_view in a
follow-up change.
If this code will be needed by some non-LOK area as well, then it can be
moved down further, but let's wait for a second area first.
Change-Id: I6291da0c3e56aed7dca1a8dc1446209044cace92
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173691
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I94410274f7afbc0a6bc33fe43beb9810a905dfe4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173467
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173556
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: Id560175cc69162b362e8f96b2dc0255118387f8f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173539
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
to explain the absence of languages that are listed by 'Preloading'
because the languages handled by a remote LanguageTool are removed
from the languages handled with local data.
Change-Id: I203657f68a7b9399e39ebf9ab9447c7ae56efe68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173448
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit c5fc86e770901eb90356cb31d4ac71ac7dad9ce6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173538
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
no logic change here
Change-Id: I29153a11e1b841fa078d29a6431cd5af1179672e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173450
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 26e433e0e3c6dfbf2569c3b6f0a14249dc4d0c1f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173537
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I90edb80f3b414cbe0a81ecccbf1080106708a131
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172933
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
...and explicitly passing in pthread_self() on the calling side is better than
trying to identify the calling thread on the callee side, anyway
Change-Id: Ib26a7cbdede246280b6985b6eb1582baf172bf59
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172786
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
Change-Id: I3d44664c4a54797911a1be6bb0b0feb5ccd15b71
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172773
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: Iab28ee0bb533b0cdabb374c982fbb898bf04aac5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172537
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
In particular TEXT_SELECTION and TABLE_SELECTED seem to be favorites,
but nothing good would come of getting these others either.
Change-Id: I1f014824452bffaeddb1dfaf6565542c3c7c9e91
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166158
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit 95f1f2143ae53469417fcebc9b2020c34b53ff30)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172522
Tested-by: Jenkins
|
|
Special case fast destruction of background saving children.
Change-Id: I8fba4d0818d23a8b0e1bb4d074e1afae7dacde33
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165448
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit 7d784910689172014b8cf6144e654402696d8801)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172520
|
|
Otherwise we fall foul of assertions and behavioral differences
around the main thread as the new forked main-thread has a
different thread-id.
Change-Id: I0bd97e5173767ac6c697326aaf0d0822037e480f
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166319
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit ddeec9754cb2871a709d22efb460e141ab4c6f33)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172453
Tested-by: Jenkins
|
|
Otherwise, client code (which is run as soon as Module.uno_init is resolved)
could try to use Module.uno_mainPort before it has been set.
Change-Id: Ibac992d965f43e9f6766d06e3bd80f1964258b19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172326
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
...so explicitly make them absolute, in case the WorkerGlboalScope used in
runUnoScriptUrl would make them absolute relative to a different base URL.
(See <https://github.com/mdn/content/issues/35568>
"WorkerGlobalScope.importScripts URLs relative to what base URL?" for my
confusion of what base URL should actually be used there. But at least with an
emsdk that uses recent Emscripten trunk towards 3.1.65, and where meanwhile
worker threads no longer load an soffice.worker.js but instead use some blob:
URL, a
> Module.uno_scripts = ['example.js'];
now failed with
> Error: Failed to execute 'importScripts' on 'WorkerGlobalScope': The URL 'example.js' is invalid.
on Chrome 127.)
Change-Id: I9f9b43d501a7b5d933c8506debdebe67ff1b5795
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172325
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
|
|
Change-Id: I52e22bf5e68809d6787d2d135b6a35384cf79391
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168785
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit c7ff8768db58aaee5ce0acbabe97faeaf450f017)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172329
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: Ie423df7839e793a9c07561efb56d5649876947ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168826
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172328
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: I5b3b3cc8e1e8c0ad3ec933ea9047da3367583767
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172088
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit ad124b2de2bcbb6a093b551633fc7e50f4cecfaf)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172190
Tested-by: Jenkins
|
|
Change-Id: I19be38564aca4fdd3d827657055b41a867582ba0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172315
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
|
|
...see
<https://emscripten.org/docs/porting/networking.html#full-posix-sockets-over-websocket-proxy-server>.
This requires
<https://github.com/stbergmann/emscripten/commit/4aff1f28b88480791236adcc6d5cb2d919ad4bf3>
"-sPROXY_POSIX_SOCKETS: Add websocket_proxy_poll". When configured with
--disable-socketpair (which appears to have no negative consequences),
external/curl appears to only call poll(2) with socket-related file descriptors,
so we can use websocket_proxy_poll instead.
The URL on which the websocket_to_posix_proxy process listens must be specified
as Module.uno_websocket_to_posix_socket_url.
Change-Id: I4ad23098b5bbc0646fa50859c0aeb9870d1cc92a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172243
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
|
|
...than an EMSCRIPTEN_EXTRA_SOFFICE_POST_JS. That way, we can e.g. set up
Module.arguments there.
Change-Id: I4990ab6daac2f74326ab2ee9508828f1b79bceb7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172154
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
Also enable the dialog for JSDialogs
Fix the layout of the dialog.
Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: I4581da34921eb355ce8f59d7bfdf2f7d5d7493f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171961
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
The code in this block is X11-specific, so
make it conditional on `USING_X11`, not
`HAVE_FEATURE_UI`.
This fixes an `--enable-gui --without-x` build
that previously failed like this
ld.lld: error: undefined symbol: XineramaQueryScreens
>>> referenced by splashx.c:441 (desktop/unx/source/splashx.c:441)
>>> .../libreoffice/workdir/CObject/desktop/unx/source/splashx.o:(splash_init_display)
[AIN] draw_brand
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [.../libreoffice/desktop/Executable_oosplash.mk:10: .../libreoffice/instdir/program/oosplash] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:296: build] Error 2
Change-Id: If02395d2461de4b6aac340898ce99583653d45c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171894
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
...to be used by external code, to mitigate the issue mentioned in the commit
message of cccc983eb3f0532dbf7e3edf4477ce63ec3d2795 "Emscripten: Run external
code on LO's main thread": "Alternatively, running external code on the
browser's main thread rather than on LO's main thread could be more ideal in the
sense that the external code would then have access to the browser's document
object."
On the browser main thread, external JS code can now await a Module.uno_main
Promise that provides one port of a MessageChannel. And on the LO main thread,
external JS code has access to the other port of that MessageChannel as
Module.uno_mainPort. (And the external code is completely free in what
onmessage handlers to set up and what form of postMessage calls to use on those
two MessagePorts.)
Change-Id: Iab6bc7676c744eacb70ddd9f3f80f64e9efd1cf1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171907
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
|
|
Change-Id: Ia143a39d2285bbdebf7fcfe709b0c6418d35585c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171589
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
|
|
...and not the browser's main thread. Those are different threads now since
6e6451ce96f47e0ef5e8ecf1750f394ff3fb48e4 "Emscripten: Move the Qt event loop off
the JS main thread". Running `Module.uno_init.then` on the browser's main
thread would never trigger, as that promise is only resolved on LO's main
thread.
When external code was included in soffice.js via
EMSCRIPTEN_EXTRA_SOFFICE_POST_JS, that didn't make a difference: Emscripten
effectively replicates that code to all the worker threads, so whatever worker
thread resolved the Module.uno_init promise (i.e., the LO main thread) had the
external code available and ran it. But when external code was included
directly in some HTML file (which "manually" provides a canvas and loads
soffice.js, not relying on the qt_soffice.html convenience functionality), it
was available in the browser's main thread but not in LO's main thread. For
that use case, introduce a new Module.uno_scripts array that can be set up in
the HTML file to contain an array of URLs (represented as strings) of scripts to
load into LO's main thread.
(Alternatively, running external code on the browser's main thread rather than
on LO's main thread could be more ideal in the sense that the external code
would then have access to the browser's document object. But, for one, it would
be less ideal in the sense that we would then potentially again execute LO code
(which we call into from the external code via UNO) on the browser's main
thread, which would bring back the issues that
6e6451ce96f47e0ef5e8ecf1750f394ff3fb48e4 "Emscripten: Move the Qt event loop off
the JS main thread" solved. And, for another, when I experimentally tried it
out, it caused massive Qt threading issues, so I quickly gave up again.)
Change-Id: If01a7859751706f168e93ccac75758ae5ce17cd2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171870
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
Open the 300 pages bugdoc, paste a oneliner plain text content in a
paragraph which is part of a numbered list, observe a 274 ms hang till
layout is done for all pages, then we get an updated tile. This could be
better, there is no such hang in the desktop case.
What happens is that 1) vcl doesn't try to invoke the poll callback of
the LOK client when there was a processed timer and 2) Writer layout
doesn't try to split its work into pieces because the LOK client has no
way to inform vcl that it has pending input events.
Fix the first problem in this commit: add a new API that allows a LOK
client to inform vcl that it has pending input events and use that
SvpSalInstance::ImplYield(): if a LOK client has pending input events,
then invoke the poll callback after each processed timer. For example,
this allows the LOK client to process emitted callbacks between two idle
layout jobs, word counting, etc.
The second problem around Writer to use
comphelper::LibreOfficeKit::anyInput() is not yet fixed.
Change-Id: I2e39253bfc4d1b5546bc60eef9ff05ccdc0868b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171846
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: Id26ac3cd02198bbd3d4dcf0539cbc372a5e08c72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171830
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit d7349b9ac4d56adfaf9bbd7c8dac84152bd230fe)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171772
Tested-by: Jenkins
|
|
...so that spawning and joining new threads works now and we no longer need a
hardcoded -sPTHREAD_POOL_SIZE of pre-spawned threads (see
b84ef4d67eaf9f9fd7fd700ca05339cb0cdff742 "Adapt comphelper::ThreadPool to
Emscripten's threading needs"; lets keep MAX_CONCURRENCY capped at 4, at least
for now, though).
This requires
<https://github.com/allotropia/qtbase/commit/167b08844df06e3cea85c98161b26e97442ab242>
"Minimal support for Emscripten -sPROXY_TO_PTHREAD=1" and
<https://github.com/allotropia/qtbase/commit/c722a25630a5390f18a4d974aa942f6376fcb8e1>
"Implement QWasmCursor::changeCursor for Emscripten PROXY_TO_PTHREAD case" (see
TODOs there).
Change-Id: I8cea827bd7786e3c9fd9401b4b2bef9d3ec00d5a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171758
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
|
|
...that 77129fbb74bcefde4551d494f029169e7c6026e3 "Emscripten: Add hack to
prepare for --enable-wasm-exceptions" was puzzled about
Change-Id: Iba54a77e3c2a71fe45b97795ca2da0606c3adf41
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171594
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
and
cid#1556585 COPY_INSTEAD_OF_MOVE
cid#1556588 COPY_INSTEAD_OF_MOVE
cid#1556593 COPY_INSTEAD_OF_MOVE
cid#1556597 COPY_INSTEAD_OF_MOVE
cid#1556605 COPY_INSTEAD_OF_MOVE
cid#1556617 COPY_INSTEAD_OF_MOVE
cid#1556635 COPY_INSTEAD_OF_MOVE
cid#1556790 COPY_INSTEAD_OF_MOVE
cid#1556792 COPY_INSTEAD_OF_MOVE
cid#1556796 COPY_INSTEAD_OF_MOVE
cid#1556799 COPY_INSTEAD_OF_MOVE
cid#1556815 COPY_INSTEAD_OF_MOVE
cid#1556836 COPY_INSTEAD_OF_MOVE
cid#1556840 COPY_INSTEAD_OF_MOVE
cid#1556842 COPY_INSTEAD_OF_MOVE
cid#1556859 COPY_INSTEAD_OF_MOVE
cid#1556860 COPY_INSTEAD_OF_MOVE
cid#1556866 COPY_INSTEAD_OF_MOVE
cid#1556869 COPY_INSTEAD_OF_MOVE
cid#1556870 COPY_INSTEAD_OF_MOVE
Change-Id: I3df8698a4aecbb03999c084517e37e12ff46ee97
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171435
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
and
cid#1556087 COPY_INSTEAD_OF_MOVE
cid#1556093 COPY_INSTEAD_OF_MOVE
cid#1556094 COPY_INSTEAD_OF_MOVE
cid#1556105 COPY_INSTEAD_OF_MOVE
cid#1556121 COPY_INSTEAD_OF_MOVE
cid#1556184 COPY_INSTEAD_OF_MOVE
cid#1556399 COPY_INSTEAD_OF_MOVE
cid#1556405 COPY_INSTEAD_OF_MOVE
cid#1556419 COPY_INSTEAD_OF_MOVE
cid#1556421 COPY_INSTEAD_OF_MOVE
cid#1556444 COPY_INSTEAD_OF_MOVE
cid#1556448 COPY_INSTEAD_OF_MOVE
cid#1556457 COPY_INSTEAD_OF_MOVE
cid#1556468 COPY_INSTEAD_OF_MOVE
Change-Id: I1f352682daebd4e3ed2e7fe669aa0943dcc33edd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171372
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: Ic020678e531322b9c3af194c3529464775fd1a61
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171318
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
|
|
Change-Id: I665c9aebaa4e215b8bc4622f3e245e5f2c47deab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171133
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 8fe4ca79d4b3cc2a62c59b7dfd2849b7a79d9437)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171196
Tested-by: Jenkins
Reviewed-by: Aron Budea <aron.budea@collabora.com>
|
|
It seems likely that this lingering briefly after various un-identified
and tough to reproduce, longer running operations in calc - which is a
big ScProgress user - caused problems with background save.
Change-Id: I1d0ec56c759dff30c48c8562b6400b57be4a25b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168033
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168052
Tested-by: Jenkins
|