Age | Commit message (Collapse) | Author |
|
Change-Id: Idd6a03ed46161c6d35088401ae2816edc8a69f8b
|
|
So when the desktop environment does startup notification, this
DESKTOP_STARTUP_ID gets passed on to the launched application.
Problem is, XDG spec says app should read it from the env, then
discard - which LibreOffice never does.
When passed on to child processes, funny effects might ensue, so
let's just erase this at the end of VCL init, when I'm reasonably
sure every gtk/kde/whatnot backend did read it.
Change-Id: I1f758c7a02455028d2b520c144ffe32538621f19
Reviewed-on: https://gerrit.libreoffice.org/40153
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Change-Id: I2d80ed40b5ec4c8db62053d8bb6c9d0c9ad24da2
|
|
Change-Id: If6023dfa1d90f79185197622a738373a189ea6af
Reviewed-on: https://gerrit.libreoffice.org/40118
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
|
|
...which e.g. made it unnecessarily hard to track down
7a23668e4f4e235c7a4e1c99e38506bd9c874be8 "Fix CppunitTest_cppcanvas_emfplus"
Change-Id: I2f537fabb067b77e82b900bd2cba30fd65c275aa
|
|
Change-Id: Ia279c7726f1bbf9cdfb6bdc481c884d56e9206c0
|
|
These files had a consistent style before, let's keep them that way.
Change-Id: I32cf4ae61d0fac37df5e5412ae9cf3e2b3c92d17
|
|
Change-Id: I2094ee8eec00587f166d96723a02eb5957dbf79b
Reviewed-on: https://gerrit.libreoffice.org/39890
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
Change-Id: I36afe2107e07ffb9b73c0b76be600e3e999a0fd4
Reviewed-on: https://gerrit.libreoffice.org/40116
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Iba098ff1c96fb6f830e136102f687b345fb958ef
Reviewed-on: https://gerrit.libreoffice.org/39981
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
|
|
Change-Id: I0fec2abc1bed9c0cfcd78d1b0f6daebc335831be
Reviewed-on: https://gerrit.libreoffice.org/39982
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
Change-Id: I3d31a5b56007451a9982602b488ae6ac1baf1f50
|
|
Change-Id: I81ae357574e5020a5e2dfb7162d451b985c18766
|
|
Change-Id: I5b9ffefcf8022366236328f0ca89982172b76feb
Reviewed-on: https://gerrit.libreoffice.org/40021
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I4913b6e3d3c1766151571c467416e62409c8e260
Reviewed-on: https://gerrit.libreoffice.org/40020
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
There are multiple ways on Windows to yield a thread:
* SwitchToThread: yields to any thread on same processor
* Sleep(0): yields to any thread of same or higher priority
on any processor
* Sleep(1): yields to any thread on any processor
So we stay with Sleep(1), as it also seems the only call, which
actually does some sleep and is not a busy wait.
Change-Id: I85c69b2f32dba9869bbddc1a572b3a63c366c5d1
|
|
Change-Id: Ia7aa081848647314e14b5ccd3063d51700f2b6c6
|
|
Change-Id: I34b4163176dc5a4a8f5cd326918df375c3475a1a
Reviewed-on: https://gerrit.libreoffice.org/40019
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I7093d86593677a7d15f5b7f55aa0f29be2154f5a
Reviewed-on: https://gerrit.libreoffice.org/40018
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ieb5bab3895e1edaff497c4a1a88303ccac097edc
Reviewed-on: https://gerrit.libreoffice.org/39948
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Id875a675d7ab649c9223ecca5de2da69ff4b8786
Reviewed-on: https://gerrit.libreoffice.org/39718
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
|
|
Despite precautions in Application::Execute() and ImplYield(),
in my testing I sometimes see that soffice is waiting in
ImplSalYield()'s GetMessageW() when ImplGetSVData()->maAppData.mbAppQuit
is true, so that soffice.bin hangs in the background. I suspect
that this is related to the bug. Some obscure code path seems to
be able to get here after the flag is already set.
So, test also in ImplSalYield() right before GetMessageW() to
make sure. Another possibility is that we get here when the flag
is not set yet, and gets set while already waiting, but that would
mean this happens in a different thread.
Change-Id: Idb19eabcca8b5c24eac0ca76950edc1bf1e5bccb
Reviewed-on: https://gerrit.libreoffice.org/39996
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Found by the random config linux tb.
Change-Id: I86921dedb5c8bacc5131e6dd66df86cb028edaf3
Reviewed-on: https://gerrit.libreoffice.org/40001
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
|
|
Change-Id: I88146737b1a1480c9ed1207896b0343dc982784a
|
|
Change-Id: I030a6bee3864e758177ce73b678ba22cd10ec217
|
|
The CppunitTest_vcl_filters_test was not working due
to a wmf file now being loadable. This leaded to better
check errors on stream and react on it in test code.
Hrad to find since that test - for whatever reason - is
not executed on win. Also need to check result of
EmfReader. Added emfio to test's module list
Change-Id: Iea2b835408e919a8456e8f178cbfc782885ffebb
|
|
Needed to migrate UnitTest for Emf/Wmf import from
vcl to emfio. Corrected stuff based on gerrit build
feedback
Change-Id: I7fd2456f814ea19583072ba09730a07e9b9d4061
|
|
More unifications, changed all Map*() methods to use a single
B2DHomMatrix which is created based on former stuff, XForm now
completely replaced. To check, added debug-only code and switches
to the VclPixelProcessor so that visual checks get easy when
using these modes (overlay of both methods with modded colors).
Also resynched to master.
Change-Id: I7b749f90bfde2ec1c2e49ee90ca2ef368da0547e
|
|
Decided to keep the migrated/isolated Emf/Wmf reader
which are now hidden behind a Uno Api. Had to re-implement
WMF_EXTERNALHEADER (now WmfExternal, own file/header)
to not break anything. It *seems* to just scale something
and could be done after import, but I could not be sure.
Also needed a callback hook to allow getting the Metafile
out of a MetafilePrimitive in a lower module (vcl relative
to drawinglayer) which is needed as long as primitives
are not completely on Uno Api. Deleted all Emf/Wmf reader
stuff from vcl.
Change-Id: Ic5540defa8ec770728280df4df3f12e1f48cfc3a
|
|
make complete turn around and internal buffering
for Emf/Wmf/Svg work, including images in ODF and
re-save from UI. The correct FileType has to be
determined. It has shown that *.wmf exist that really
contain *.emf, so this turn around will not alter
the binary data, but may change the mimetype
Change-Id: I4fd92629236c12114f7b7c30234a3d3a9917dfaf
|
|
First steps to organize an importer that can read/interpret
wmf/emf/emf+ and deliver a primitive representation for
the content by parsing it. Use the same mechanisms as
already applied for Svg, so to reuse abilities to keep
original binary data to allow save again and embedding in
files and have an implemented replacement bitmap based
representation. For this, unify the used helper classes
to handle more than just Svg. For 1st try, add test code
and static bool switches
Change-Id: I6e0a82943541d811a8f8d65a84115569fcd8cee7
|
|
This is a regression from commit
503eba23c9a199583eddee9e169a4fddbecf416f
Due to rounding errors, as the Scheduler uses milliseconds, but
the headless backend uses nanoseconds the StartTimer assumed it
would wake up this ms, but the headless check function would still
wait. This is more of a workaround, so instant wakeup for the
headless backend works again.
Change-Id: I2ba9b4ad2b67ec99eeb4dd098ded6457d3753127
|
|
Change-Id: Ia7afb5b9750704797ff8030688d0531c27d80836
|
|
Change-Id: If5bdd1532be44a47ff7cc3b769be3ea585aea562
Reviewed-on: https://gerrit.libreoffice.org/39685
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I362724911ac60df7ac699495bac852be9e7c6b13
Reviewed-on: https://gerrit.libreoffice.org/36684
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: I6ff24f048bd8f75bf87a78b718f37b57855d4781
Reviewed-on: https://gerrit.libreoffice.org/39932
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Idcfec3e33031eea311377a51f51c65dd3c4d25dc
|
|
regression from 00aa0892e7385cd8395dd39814077958be42e720
Change-Id: I840391573ae52be6ba4a34b2a802b637578afa40
|
|
When binding a GDI device context to D2D we need to provide a
rectangle where the surface will have effect. When we just need
some font information we need to bind the DC too, but we aren't
really interested what the rectangle is, so we just provided a
0,0,0,0 rectangle in that case. This sometimes fails with a
"out of memory" result and is dependent on the renderer.
Instead of 0,0,0,0 rectangle we rather define a 0,0,1,1 rectangle
which should never fail. This is not problematic as for actual
rendering we later rebind with an actual rectangle.
Change-Id: I79c7f0cf4d69f213370ed26a811a908ed16070ff
Reviewed-on: https://gerrit.libreoffice.org/39901
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins <ci@libreoffice.org>
|
|
Simplified version of commit
3e20ce802ee2ab49c4f2a98880f6e999657686bb
Since we're missing g_source_get_ready_time in our baseline, this
can't change the complex implementation, but still drops the timer
array and uses a single-shot timer, like all other backends.
Change-Id: I0641da8d0db71785c505957533a9069924808cd4
|
|
We need to call it once because we have no other way to detect whether
it's working or not.
But if we receive an error the first time, we disable it from now on.
Change-Id: I67dba8b65660ff7e05bdf2ddc18b565550901cd1
Reviewed-on: https://gerrit.libreoffice.org/39885
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Current LO baseline doesn't have g_source_get_ready_time,
so we keep the old stuff.
This reverts commit 3e20ce802ee2ab49c4f2a98880f6e999657686bb.
Change-Id: I32c39fa70c8d52cbb78620f528d60a986087dfd0
|
|
Change-Id: I0bb25a89ddc76c91d01d1cee785be0337eb1f1d0
Reviewed-on: https://gerrit.libreoffice.org/39897
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ibc4c93ac1f5686a476b5e303347dc951daa58e33
Reviewed-on: https://gerrit.libreoffice.org/38909
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
This also adds an sal_uLong nCount parameter to
ImplSalYieldMutexAcquireWithWait, so it can be called like
ImplSalAcquireYieldMutex and actually uses the result from
the deferred DoYield.
Change-Id: Ie3b466ad03e7ed8c35a62f41c09d09757865364d
|
|
This is based on glibs classification of tasks, but while glib uses
an int for more fine grained priority, we stay with our enum.
1. Timers start with DEFAULT priority, which directly corresponds
with the previous HIGH priority
2. Idles start with DEFAULT_IDLE priority instead of the previous
HIGH priority, so idle default becomes "really run when idle".
As RESIZE and REPAINT are special, and the DEFAULTS are set, there
is just one primary decision for the programmer: should my idle
run before paint (AKA HIGH_IDLE)?
If we really need a more fine-grained classification, we can add it
later, or also switch to a real int. As a result, this drops many
classifications from the code and drastically changes behaviour,
AKA a mail merge from KDE is now as fast as Gtk+ again.
Change-Id: I498a73fd02d5fb6f5d7e9f742f3bce972de9b1f9
|
|
All relevant information is also provided by UpdateMinPeriod and
the calculations were even duplicated. This also includes dropping
Scheduler::UpdateMinPeriod, as this is now reduced to a simple
comparison and assignment, as we simply ignore larger returned
sleep times.
Change-Id: I13852e3e63daead451bf7fcb98be9b1d44bd7abd
|
|
Task::mbActive already stores the inverse information of
ImplSchedulerData::mbDelete, so we can drop the latter one.
Change-Id: I57f8c23ca1eebdeed780a644c83fcbeb9b92cd66
|
|
Change-Id: I5283f18aebcd6797ad35771ae8fc4a0f425ff924
|
|
For some (unknown) reason [NSApp postEvent: ... atStart: NO]
doesn't append the event, if the message queue is empty
(AKA [NSApp nextEventMatchingMask .. ] returns nil).
Due to nextEventMatchingMask usage, these postEvents have to
run in the main thread.
Using performSelectorOnMainThread deadlocks, since the calling
thread may have locked the Yield mutex, so we simply defer the
call using an NSEvent, like the Windows backend.
So we have to peek at the queue and if it's empty simply prepend
the event using [.. atStart: YES].
In the end this make the vcl_timer unit test pass on OSX.
Change-Id: Ib41186425b2f76faa0e9f116f47fdcd60d878099
|