Age | Commit message (Collapse) | Author |
|
HAVE_FEATURE_OPENCL is included by a common Calc header
and HAVE_FEATURE_DESKTOP is included by a common Writer header,
causing pretty much their full rebuilds if any feature changes.
Change-Id: If29bf78bd4fd70b37981e0826a577777fd255c89
Reviewed-on: https://gerrit.libreoffice.org/80776
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
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>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: I386e913f9002eed164c26137a0e184993d010b86
Reviewed-on: https://gerrit.libreoffice.org/74090
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I0ed575a11c84c2e8aabfa1b4204ba6ae27393d5f
Reviewed-on: https://gerrit.libreoffice.org/74245
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
since...
commit e655dc8bbf010e5ef89c32c2ebde56281b323925
Date: Thu May 9 18:24:18 2019 +0100
unipoll: let InitVCL tolerate double init.
which changed InitVCL to return true if it was
already initialized, tricking toolkit into thinking
it was the first one to call InitVCL
Change-Id: I33552a5e2caca909f8d63fbf5f23b9fbc4c2dfbd
Reviewed-on: https://gerrit.libreoffice.org/73956
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
We need to get VCL initialized early in UniPoll mode, since the main
setup doesn't occur until runPoll is invoked, and we want to call lots
of virtual methods that take the SolarMutex before then - which requires
VCL to be initialized.
Change-Id: Id9c1b74c126cf7bb71d6560b7585d37327a9f5ef
Reviewed-on: https://gerrit.libreoffice.org/72071
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: Id81e8db5a38b4e4a88cc21c50234c2338e9c41bf
Reviewed-on: https://gerrit.libreoffice.org/71421
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
This cache eviction timer is periodic, so just use an AutoTimer,
to prevent the "expensive" Start() calls. This will instantly
re-schedule the task again. OTOH Stop() is really cheap, as it
just sets a bool. Same for IsActive(), which just checks that
bool. We do lazy cleanup of stopped tasks in the scheduler.
This patch also changes the logic to just start the AutoTimer, if
it's not already running and just stops it in the timer handling
function, if there is nothing more to do. This way we can save
allmost all the previous Start() and Stop() calls, but eventually
have a single unneeded wakeup a second later.
Change-Id: Iae05483f557b94e07e51c4baae25315596923c9c
Reviewed-on: https://gerrit.libreoffice.org/71376
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
It is wasteful to parse svg icons all the time so lets cache the
result when this make sense in a LRU map.
Change-Id: I95cc317c9301138a9e384d270223ba147a123e59
Reviewed-on: https://gerrit.libreoffice.org/69055
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
maStatusText in HelpTextWindow is dead since
commit bd3ea40ed49074c4fa4439de7b5dea4fc3161880
Date: Fri Jan 21 14:48:58 2011 +0200
Remove ShowHelpStatusText and HideHelpStatusText and associated
cruft
Change-Id: I7a74e2a1b909a479f9338bd4da5fad06ccc25283
Reviewed-on: https://gerrit.libreoffice.org/68153
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Idd7166833764fdf1d9c42a050490572a8b330199
Reviewed-on: https://gerrit.libreoffice.org/67610
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
dropping the cached scaled bitmap when the bitmap
is accesed via BitmapAccessMode::Write for writing
Change-Id: Ib6539522944838238bd699ec3531039d21dc0f8b
Reviewed-on: https://gerrit.libreoffice.org/67459
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.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>
|
|
Application::IsMainThread"
vcl/inc/unx/gtk/gtkinst.hxx's IsMainThread returns always false.
This breaks in iahndl.cxx on Linux.
This reverts commit bc089afb13029bae65b993992b3815430657ac24.
Change-Id: I8fbd945e3704214d242f6f9e65760d44b0cc7d40
Reviewed-on: https://gerrit.libreoffice.org/63044
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I3258268b12cb0914a5e8d1c9b57d7891e83080c6
Reviewed-on: https://gerrit.libreoffice.org/62951
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: Ife3648c8ca84c942f02fb6eab2990ec3eb3eb3f9
Reviewed-on: https://gerrit.libreoffice.org/61764
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ic099761eaff80349e985ccf62e3f4aa6b2e98022
Reviewed-on: https://gerrit.libreoffice.org/61103
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
I am writing a separate unit test app that will include selected
existing unit tests that make sense and are important to run on iOS.
Change-Id: I4722f1ed872ba21e181eeba5ed3b58e82d8fed72
Reviewed-on: https://gerrit.libreoffice.org/61049
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
|
|
Allows to drop all the special SVMain handling introduced for
MacOSX. This way LO can also be build via SSH, because gengal
won't abort / fail because of the missing window system.
Currently this just implements the global menu. I don't know
what else is missing. Eventually we want to reimplement the
Cocoa debug option forwarding (NSAccessibilityDebugLogLevel).
Change-Id: I359c46fd03e2436a8a37fd211e59e4e305f8aba0
Reviewed-on: https://gerrit.libreoffice.org/60571
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
...warning about (for now only) functions and variables with external linkage
that likely don't need it.
The problems with moving entities into unnamed namespacs and breaking ADL
(as alluded to in comments in compilerplugins/clang/external.cxx) are
illustrated by the fact that while
struct S1 { int f() { return 0; } };
int f(S1 s) { return s.f(); }
namespace N {
struct S2: S1 { int f() { return 1; } };
int f(S2 s) { return s.f(); }
}
int main() { return f(N::S2()); }
returns 1, both moving just the struct S2 into an nunnamed namespace,
struct S1 { int f() { return 0; } };
int f(S1 s) { return s.f(); }
namespace N {
namespace { struct S2: S1 { int f() { return 1; } }; }
int f(S2 s) { return s.f(); }
}
int main() { return f(N::S2()); }
as well as moving just the function f overload into an unnamed namespace,
struct S1 { int f() { return 0; } };
int f(S1 s) { return s.f(); }
namespace N {
struct S2: S1 { int f() { return 1; } };
namespace { int f(S2 s) { return s.f(); } }
}
int main() { return f(N::S2()); }
would each change the program to return 0 instead.
Change-Id: I4d09f7ac5e8f9bcd6e6bde4712608444b642265c
Reviewed-on: https://gerrit.libreoffice.org/60539
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
It seems that on iOS, where we don't have any Java, Python, BASIC, or
other scripting, the only thing that would use the C++/UNO bridge
functionality that invokes codeSnippet() was cppu::throwException().
codeSnippet() is part of what corresponds to the code that uses
run-time-generated machine code on other platforms. We can't generate
code at run-time on iOS, that has been known forever. Instead we have
used some manually written assembler to handle it instead. We used to
have a Perl script to generate a set of code snippets for different
cases, different numbers of parameters of the called function and
whatnot, but that went away at some stage some year ago. (It is
unclear whether that broke the C++/UNO bridge on iOS, or whether the
stuff continued to work even after that.)
Anyway, this handwritten assembly, or the manual construction of
internal data structures for exceptions, or something else, seemed to
have bit-rotten. Exceptions thrown with cppu::throwException() were
not catchable properly any longer.
Instead of digging in and trying to understand what is wrong, I chose
another solution. It turns out that the number of types of exception
objects thrown by cppu::throwException() is fairly small. During
startup of the LibreOffice code, and loading of an .odt document, only
one kind of exception is thrown this way... (The lovely
css::ucb:InteractiveAugmentedIOException.)
So we can simply have code that checks what the type of object being
thrown is, and explicitgly throws such an object then with a normal
C++ throw statement. Seems to work.
Sadly the cppu::getCaughtException() API still needs some inline
assembly in the C++/UNO brige. That seems to work though, knock on
wood.
This commit also adds a small "unit test" for iOS, copied from
cppuhelperm to ImplSVMain(). Ideally we should not copy code around of
course, but have a separate unit test app for iOS that would somehow
include relevant unit tests from source files all over the place.
Later.
Change-Id: Ib6d9d5b6fb8cc684ec15c97a312ca2f720e87069
Reviewed-on: https://gerrit.libreoffice.org/60506
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
Change-Id: I1072642be4fdfa720e61f2d7bad3c2701eb81610
Reviewed-on: https://gerrit.libreoffice.org/60430
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
In this step I have changed all calls that use a
B2DPolyPolygon and do filled graphics, added support for
providing needed transformation which will -if supported-
be used. Added buffering of SystemDependentData at
B2DPolyPolygon for that purpose, see comments describing
the current possibilities in the Gdiplus implementation.
Moved lifetime creation/cleanup of SystemDependentDataManager
to ImplSVData due to cleanup problems in the clang build
Tried to use a std::unique_ptr to hold the instance
of a SystemDependentDataBuffer at ImplSVData and cleanup
inside DeInitVCL() right before ::ImplDeInitScheduler. This
works in principle, but scheduler shutdown triggers
ProcessEventsToIdle which leads to repaints and re-creates
the buffer. Will now do exactly as was done with GdiPlusBuffer
before, a simple local static incarnation and a call to
SetStatic() in constructor
Splitted SystemDependentDataBuffer and Timer due to
different LifeTimes. Timer needs to be destructed
earlier than SystemDependentDataBuffer, before
Scheduler::ImplDeInitScheduler() is called from
DeInitVCL()
Change-Id: I2134e4346a183a4cee1be3428c51541cc8867c11
Reviewed-on: https://gerrit.libreoffice.org/60102
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
|
|
Change-Id: I4e5c50e2dde40b4047020fed2733a3e47ed4208e
Reviewed-on: https://gerrit.libreoffice.org/59950
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is a first step to allow buffering of system
dependent data, especially (but not only) for the
system-dependent implementations of graphic output.
For example, for B2DPolygon and Win output, it allows
buffering the Gdiplus::GraphicsPath instead of re-
creating it all the time.
To support that, the change includes forwarding the
current transformation to the renderers in SalGraphics.
The current state in VCL is to transform all and
everything to device coordinates at every single
paint.
I have currently started to do this for ::drawPolyLine
implementations. The fallbacks for all systems will
at the start of that method just transform the data
to device coordinates, so all works as before.
This may also be done for FilledPolygon paint in a later
step, but most urgent is FatLine painting.
An arrangement of shared_ptr/weak_ptr is used so that
either the instance buffering (in the example B2DPolygon)
or the instance managing it can delete it. The instance
managing it currently uses a 1s Timer and a cycle-lifetime
management, but that can be extended in the future
to e.g. include size hints, too.
The mechanism it designed to support multiple Data per
buffering element, e.g. for B2DPolygon at the same time
system-dependent instances of Gdiplus and Cairo can be
buffered, but also PDF-data.
This is achieved semi-automatic by using
typeid(class).hash_code() as key for organization.
The mechanism will be used for now at B2DPolygon, but
is not limited to. There is already a similar but less
general buffer (see GdiPlusBuffer) that can and will
be converted to use this new mechanism.
Added vcl/headless Cairo renderer to support given
ObjectToDevice transformation (not to transform given
B2DPolygon)
Added support for CairoPath buffered at B2DPolygon,
seems to work well. Need to do more tests
Moved usage to templates suggested by Noel Grandin
(Noel Grandin <noelgrandin@gmail.com>), thanks for
these suggestions. Adapted Win usage to that, too.
Converted Win-specific GdiPlus BitmapBuffer to new
mechanism, works well. Checked, the manager holds
now a mix of bitmap and path data under Win
Added a cleanup mechanism to flush all buffered data
at DeInitVCL() using flushAll() at
SystemDependentDataBuffer
Adapted Linux-versions of ::drawPolyLine to support
PixelSnapHairline, for now in a simplified version
that still allows buffering. This will also be used
(and use buffering) for the Cairo-fallback in
X11SalGraphics
Change-Id: I88d7e438a20b96ddab7707050893bdd590c098c7
Reviewed-on: https://gerrit.libreoffice.org/59555
Tested-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
|
|
Change-Id: Ie125f1ac9c14a41e25c3e54beafca2f9e34e4c6f
Reviewed-on: https://gerrit.libreoffice.org/59310
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ia4499c2a1515aebaff9edf0e843fc66c7fb1414e
Reviewed-on: https://gerrit.libreoffice.org/59309
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
regression from
commit 9cceba9a928cf3b3447f293020be2fe76c035ed5
make DBG_TESTSOLARMUTEX available in assert builds
Change-Id: Ifbedc3c16f341a12ba026fc598fb5386da91c50c
Reviewed-on: https://gerrit.libreoffice.org/59245
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it.
This is a continuation of commit 6ff2d84ade299cb3d14d4110e4cf1a4b8070c030 to be able to remove those unneeded includes.
This commit adds missing headers to every file found by:
grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG')
to directory vcl
Change-Id: I205fe0f4e80a66cd9c3b19f7e9716411da1d1cf5
Reviewed-on: https://gerrit.libreoffice.org/58221
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
where our QA people are more likely to trigger it
Change-Id: I4ce7c8c72e7e21f2296c0f9cc9f019aaef32ed0b
Reviewed-on: https://gerrit.libreoffice.org/58170
Tested-by: Jenkins
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>
|
|
Change-Id: Iea2d9b993dcf08fe022f97a2ac8e15fba9a8568c
Reviewed-on: https://gerrit.libreoffice.org/55090
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: I20e925c58adb56acd4d1a63720d330c8b6613441
Reviewed-on: https://gerrit.libreoffice.org/51433
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Iacfbe7da788235c96519ecd106d09ab534c83849
Reviewed-on: https://gerrit.libreoffice.org/50281
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
On some Macs, it seems that LibreOffice (or any app?) gets an
NSApplicationDidChangeScreenParametersNotification as soon as it has
started and asked for such a notification. Our handler for that
notification assumes that VCL is initialised. Thus we should not ask
for such notifications before VCL has been initialised.
I could not reproduce the reported crash with an unmodified
LibreOffice, only after inserting a sleep after the notifications had
been set up. But I am fairly sure this change fixes the problem.
Change-Id: I18d342eb7dc0c77cb7fc8623756bead65a1bd329
Reviewed-on: https://gerrit.libreoffice.org/50164
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
Instead use a simple vector.
Change-Id: I50652468cf06ba681d5caccb74a52b32c6c507a0
Reviewed-on: https://gerrit.libreoffice.org/47910
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Dec 13 16:18:27 <sberg> jmux, any reason
fd0fff67798fea87217e65bb1561aa0d0e741c51 moved the call to
Scheduler::ImplDeInitScheduler() in DeInitVCL (vcl/source/app/svmain.cxx) past
the call to the pSVData->maDeInitHook?
Dec 13 16:18:30 <IZBot> core - Assert active Tasks on scheduler de-init -
http://cgit.freedesktop.org/libreoffice/core/commit/?id=fd0fff67798fea87217e65bb1561aa0d0e741c51
Dec 13 16:20:06 <sberg> jmux, observing a crash in
CppunitTest_dbaccess_firebird_test here when
comphelper::geProcessServiceFactory wants to be used after it has been cleared,
<https://paste.fedoraproject.org/paste/H8bVCcpNjSipm59Ih952nw>
Dec 13 16:22:41 <jmux> sberg: no. That was still during the analysis with all
those static tasks and cleanup problems.
Dec 13 16:23:17 <sberg> jmux, I'll see what breaks if I move the call back to
its original place, then
The relevant backtraces from
<https://paste.fedoraproject.org/paste/H8bVCcpNjSipm59Ih952nw>:
> #0 0x00007fffee08c160 in comphelper::setProcessServiceFactory(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> const&) (xSMgr=...) at comphelper/source/processfactory/processfactory.cxx:55
> #1 0x00007fffe8b120eb in (anonymous namespace)::Hook::deinitHook((anonymous namespace)::Hook*, LinkParamNone*) () at test/source/setupvcl.cxx:54
> #2 0x00007fffe8b11f8d in (anonymous namespace)::Hook::LinkStubdeinitHook(void*, LinkParamNone*) (instance=0x0, data=0x0) at test/source/setupvcl.cxx:37
> #3 0x00007fffe76a9cb1 in Link<LinkParamNone*, void>::Call(LinkParamNone*) const (this=0x7fffe8374418 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance+984>, data=0x0) at include/tools/link.hxx:84
> #4 0x00007fffe79c5baf in DeInitVCL() () at vcl/source/app/svmain.cxx:517
> #5 0x00007fffe8d1cc0a in (anonymous namespace)::Protector::~Protector() (this=0x6f6b50, __in_chrg=<optimized out>) at test/source/vclbootstrapprotector.cxx:34
> #6 0x00007fffe8d1cc5e in (anonymous namespace)::Protector::~Protector() (this=0x6f6b50, __in_chrg=<optimized out>) at test/source/vclbootstrapprotector.cxx:43
> #7 0x00007ffff7b962f3 in CppUnit::ProtectorChain::pop() (this=0x630e00) at ProtectorChain.cpp:56
> #8 0x00007ffff7ba65d4 in CppUnit::TestResult::popProtector() (this=0x7fffffff2870) at TestResult.cpp:196
> #9 0x0000000000408998 in (anonymous namespace)::ProtectedFixtureFunctor::run() const (this=0x7fffffff2840) at sal/cppunittester/cppunittester.cxx:328
> #10 0x0000000000409484 in sal_main() () at sal/cppunittester/cppunittester.cxx:469
> #11 0x000000000040900b in main(int, char**) (argc=23, argv=0x7fffffff2be8) at sal/cppunittester/cppunittester.cxx:376
and
> #0 0x00007fffee08c213 in comphelper::getProcessServiceFactory() () at comphelper/source/processfactory/processfactory.cxx:64
> #1 0x00007fffee08c651 in comphelper::getProcessComponentContext() () at comphelper/source/processfactory/processfactory.cxx:96
> #2 0x00007fffe79a7281 in setupPersonaHeaderFooter(WhichPersona, rtl::OUString&, BitmapEx&, boost::optional<Color>&) (eWhich=PERSONA_HEADER, rHeaderFooter=..., rHeaderFooterBitmap=..., rMenuBarTextColor=...) at vcl/source/app/settings.cxx:2135
> #3 0x00007fffe79a7c96 in StyleSettings::GetPersonaHeader() const (this=0x15d7130) at vcl/source/app/settings.cxx:2214
> #4 0x00007fffe757285f in MenuBarWindow::ApplySettings(OutputDevice&) (this=0x1644ee0, rRenderContext=...) at vcl/source/window/menubarwindow.cxx:1022
> #5 0x00007fffe7488fdb in PaintHelper::DoPaint(vcl::Region const*) (this=0x7fffffff1720, pRegion=0x0) at vcl/source/window/paint.cxx:298
> #6 0x00007fffe748a74e in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x1644ee0, pRegion=0x0, nPaintFlags=(ImplPaintFlags::PaintAll | ImplPaintFlags::PaintAllChildren | ImplPaintFlags::PaintChildren | ImplPaintFlags::Erase)) at vcl/source/window/paint.cxx:606
> #7 0x00007fffe748a0e5 in PaintHelper::~PaintHelper() (this=0x7fffffff1890, __in_chrg=<optimized out>) at vcl/source/window/paint.cxx:540
> #8 0x00007fffe748a7a7 in vcl::Window::ImplCallPaint(vcl::Region const*, ImplPaintFlags) (this=0x1510d40, pRegion=0x0, nPaintFlags=ImplPaintFlags::PaintChildren) at vcl/source/window/paint.cxx:603
> #9 0x00007fffe748a8ea in vcl::Window::ImplCallOverlapPaint() (this=0x1510d40) at vcl/source/window/paint.cxx:630
> #10 0x00007fffe748aa34 in vcl::Window::ImplHandlePaintHdl(Timer*) (this=0x1510d40) at vcl/source/window/paint.cxx:651
> #11 0x00007fffe748a929 in vcl::Window::LinkStubImplHandlePaintHdl(void*, Timer*) (instance=0x1510d40, data=0x1511940) at vcl/source/window/paint.cxx:634
> #12 0x00007fffe79c7f33 in Link<Timer*, void>::Call(Timer*) const (this=0x1511960, data=0x1511940) at include/tools/link.hxx:84
> #13 0x00007fffe79c7d97 in Timer::Invoke() (this=0x1511940) at vcl/source/app/timer.cxx:76
> #14 0x00007fffe799a873 in Scheduler::ProcessTaskScheduling() () at vcl/source/app/scheduler.cxx:440
> #15 0x00007fffe7999d95 in Scheduler::CallbackTaskScheduling() () at vcl/source/app/scheduler.cxx:263
> #16 0x00007fffe7ad3bbb in SalTimer::CallCallback() (this=0x156fbc0) at vcl/inc/saltimer.hxx:55
> #17 0x00007fffe7ad3209 in SvpSalInstance::CheckTimeout(bool) (this=0x730900, bExecuteTimers=true) at vcl/headless/svpinst.cxx:188
> #18 0x00007fffe7ad35b8 in SvpSalInstance::DoYield(bool, bool) (this=0x730900, bWait=false, bHandleAllCurrentEvents=true) at vcl/headless/svpinst.cxx:272
> #19 0x00007fffe79be4a1 in ImplYield(bool, bool) (i_bWait=false, i_bAllEvents=true) at vcl/source/app/svapp.cxx:469
> #20 0x00007fffe79ba4c7 in Application::Reschedule(bool) (i_bAllEvents=true) at vcl/source/app/svapp.cxx:486
> #21 0x00007fffe79ba4f9 in Scheduler::ProcessEventsToIdle() () at vcl/source/app/svapp.cxx:492
> #22 0x00007fffe79991a9 in Scheduler::ImplDeInitScheduler() () at vcl/source/app/scheduler.cxx:114
> #23 0x00007fffe79c5f80 in DeInitVCL() () at vcl/source/app/svmain.cxx:579
> #24 0x00007fffe8d1cc0a in (anonymous namespace)::Protector::~Protector() (this=0x6f6b50, __in_chrg=<optimized out>) at test/source/vclbootstrapprotector.cxx:34
> #25 0x00007fffe8d1cc5e in (anonymous namespace)::Protector::~Protector() (this=0x6f6b50, __in_chrg=<optimized out>) at test/source/vclbootstrapprotector.cxx:43
> #26 0x00007ffff7b962f3 in CppUnit::ProtectorChain::pop() (this=0x630e00) at ProtectorChain.cpp:56
> #27 0x00007ffff7ba65d4 in CppUnit::TestResult::popProtector() (this=0x7fffffff2870) at TestResult.cpp:196
> #28 0x0000000000408998 in (anonymous namespace)::ProtectedFixtureFunctor::run() const (this=0x7fffffff2840) at sal/cppunittester/cppunittester.cxx:328
> #29 0x0000000000409484 in sal_main() () at sal/cppunittester/cppunittester.cxx:469
> #30 0x000000000040900b in main(int, char**) (argc=23, argv=0x7fffffff2be8) at sal/cppunittester/cppunittester.cxx:376
Change-Id: I75ee6a7b663f6117f004877fc9ba5a3ed79d66e4
Reviewed-on: https://gerrit.libreoffice.org/46415
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
since cdecl is the default calling convention on Windows for
such functions, the annotation is redundant.
Change-Id: I1a85fa27e5ac65ce0e04a19bde74c90800ffaa2d
Reviewed-on: https://gerrit.libreoffice.org/46164
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Id7dea3917740aaf4db8dada5e2bea6e117d714ea
|
|
Change-Id: Ia23dafd07133779144965682df3b7125a3214235
Reviewed-on: https://gerrit.libreoffice.org/43046
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins <ci@libreoffice.org>
|
|
This shuts down the VCL scheduler later in the DeInitVCL call and
asserts active pending tasks, as these will never be processed
after shutdown.
There is currently a TODO whitelist, so the unit tests still pass
but probably most of these should be fixed. No task in the list
looks critical - all seem to do some idle / cleanup work.
This also processes all the Idles before shutdown. All seem to be
of type sfx::SfxItemDisruptor_Impl.
Change-Id: I9cc484a525cc2bacd54c4f271f86997517393e92
Reviewed-on: https://gerrit.libreoffice.org/40533
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: Ibc2be8fe44295a8ea08105549448609e00262740
Reviewed-on: https://gerrit.libreoffice.org/41560
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I466576660bdc281c3332fa25f0fe0756cd356ab7
Reviewed-on: https://gerrit.libreoffice.org/40788
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
and the vast majority of translations is to the ui language so default
ctor with that arg
and now drop OModuleResourceClient
Change-Id: I3b85a560ffdfe5f019c2271ac56a5fe4a361522b
|
|
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl
* all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string")
* ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching
MODULE .mo files
* UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui
goes from l10n target to normal one, so the res/lang.zips of UI files go away
* translation via Translation::get(hrc-define-key, imbued-std::locale)
* python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there
to keep finding the .hrc file uniform) so magic numbers can go away there
* java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation
mechanism
* en-US res files go away, their strings are now the .hrc keys in the source code
* remaining .res files are replaced by .mo files
* in .res/.ui-lang-zip files, the old scheme missing translations of strings
results in inserting the english original so something can be found, now the
standard fallback of using the english original from the source key is used, so
partial translations shrink dramatically in size
* extract .hrc strings with hrcex which backs onto
xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap
* extract .ui strings with uiex which backs onto
xgettext --add-comments --no-wrap
* qtz for gettext translations is generated at runtime as ascii-ified crc32 of
content + "|" + msgid
* [API CHANGE] remove deprecated binary .res resouce loader related uno apis
com::sun::star::resource::OfficeResourceLoader
com::sun::star::resource::XResourceBundleLoader
com::sun::star::resource::XResourceBundle
when translating strings via uno apis
com.sun.star.resource.StringResourceWithLocation
can continue to be used
Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
|
|
Change-Id: I207866df495ec81bb9288e6d0f664b96d90251d6
Reviewed-on: https://gerrit.libreoffice.org/40217
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
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>
|
|
Move all Scheduler members of ImplSVData into ImplSchedulerContext
and make ImplSchedulerContext a member of ImplSVData.
Change-Id: I186bebdfb5701543595848968235b5a56b6598e9
|
|
Change-Id: I845e808be27e2fad959a73d0d34a204b4bdcdd1f
Reviewed-on: https://gerrit.libreoffice.org/38211
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
poxy cppunit tests can't use config here
This reverts commit f55eeb7a45998d16eb0fe49088e172ce45ac4f2b.
|