[Libreoffice-commits] core.git: Changes to 'private/swe/libreoffice-5-2+backports'
Michael Stahl
mstahl at redhat.com
Thu Aug 10 10:24:48 UTC 2017
New branch 'private/swe/libreoffice-5-2+backports' available with the following commits:
commit 1769a9a5886f2780cdd35ccb62fb28dd96766d3f
Author: Michael Stahl <mstahl at redhat.com>
Date: Thu Jan 19 13:54:57 2017 +0100
framework: AutoRecovery uses Timer without SolarMutex
This results in a SolarMutex assert when creating a new Base document.
... and also implts_startListening() is looking less thread safe
than advertised.
Conflicts:
framework/source/services/autorecovery.cxx
Change-Id: I4635064733c16416f903dab4caee59fb2de3cb00
commit db28c5a29dd0d3900ae3ffa3bcd966b07a578f39
Author: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
Date: Thu Aug 3 10:27:36 2017 +0200
These TaskPriorities are no longer available
So just use default priority.
This was not covered by the conversion because of differences between master and 5.2.
Change-Id: Ia2c9a196988d4c71b545266b87e4bcd00b43ca72
commit 16f2c3988f66593978d2c88d532e842e0f57efea
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Tue Jul 4 17:15:14 2017 +0200
tdf#108873 fix merge data handling in fields
This is a regression from tdf#70346 /
commit 4851cde7b98226b0f82ae2b191c290173e9b06c6
It added the whole DB row as variables to the SwCalc hash set.
This works correct for conditionals when hiding sections, but not
for conditionals used in fields - actually they break.
Previously the field would do a fallback to query the DB again, if
no variable was in the dict and the only possible variables in the
dict could have been user-defined fields.
This handles the added variables correctly for fields.
Also fixes a bug to store the DB number values as number variables
and adds the record number, as SwCalc::VarLook does.
Reviewed-on: https://gerrit.libreoffice.org/39509
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
Conflicts:
sw/inc/calc.hxx
Change-Id: Ib0dbeda68234e671768ede55b2012235a3680276
commit 323f572ce9930943a1ff989290ff5923b6bfc3b7
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Mon Jul 31 19:49:34 2017 +0200
tdf#109997 WIN don't post a callback event directly
I doesn't seem possible to post an event deterministically to the
end of the Windows message queue and then process this queued
events "in order".
PeekMessage and now even DispatchMessage process events out of
order - that's how this assert was hit. I was quite sure it would
not hit, but a simple resize proved me wrong. And the assert just
proved that all my assumptions were wrong :-(
So this gives up the whole idea of a short-circuit message queue
handling on Windows for busy processing of LO Idles and goes back
to some kind of the original "always timer" implementation. Since
the "parallel" processing of LO events after system messages
during DoYield was dropped, this might be slower; or not.
In the end this simplifies the main loop almost to the starting
point, except for a little busy loop, if we wait for an Idle event
timer - not so busy acually, as we just switch to another local
thread, which hopefully is our idle timer waiting to fire.
A short-circuit with a little detour.
Change-Id: Id63a2a9e2a3b1501ad50a2c6f308a36efe55e68f
commit 8a14c12eb7ec0dea73cef08268e223185615d8e4
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Fri Jul 28 19:55:03 2017 +0200
GEN fix timeout result handling
The GEN VCL backend simply ignored the result of the timeout.
Change-Id: I0c1b34927ba97886cf11b2c2a203c3e82d851dc9
commit 760a66f667d0442f428070ec36056bc5c426707d
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Fri Jul 28 19:39:25 2017 +0200
Fix scheduler GDB pretty printer
mbDelete is gone, as we simply check for mpTask.
Change-Id: I9d451f2445fb6b978d177b45d75abde2595c5fac
commit 916e59c86c013d613c0bdb1e32bcf60f6410bb60
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Tue Jul 25 11:32:21 2017 +0200
WIN don't process the SendMessage from DoYield
Actually we just want to remove the SAL_MSG_TIMER_CALLBACK
messages, but this seems to be impossible using PeekMessage,
without the side effect of processing some messages:
"During this call, the system delivers pending, nonqueued
messages... Then the first queued message that matches the
specified filter is retrieved.".
But it is actually enought to ignore the SAL_MSG_THREADYIELD
message send using SendMessage from DoYield, which can be
filtered by using PM_QS_POSTMESSAGE.
Probably this should be resolved not using PeekMessage at all
by using a variable to hold the time of the last posted
SAL_MSG_TIMER_CALLBACK message, so we just run the callback
once, if our time is <= MSG time and ignore the multiple
queued messages. Same for mbOnIdleRunScheduler handling.
Change-Id: Ifacb20aa38e6b5aca908e5411cf2e100f702ad1f
commit 8ce8ee1edd7377156b6bcfd4478a521feb1df28a
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Mon Jul 24 15:45:32 2017 +0200
WIN don't yield the scheduler in PeekMessage
The scheduler is restarting the timer at the end of the most
important task search. It uses PeekMessage PM_REMOVE to remove
old SAL_MSG_TIMER_CALLBACK messages from the queue.
Without PM_NOYIELD, in combination with an other thread yielding
using SAL_MSG_THREADYIELD, this could re-start scheduling inside
these PeekMessage calls, resulting in various assertions inside
the scheduler code, most time due to the changed ascheduler list
in "assert( pPrevSchedulerData->mpNext == pSchedulerData )".
Change-Id: Ia96b6c0e06ffc3126b1428723b53f4b2112f8a5f
commit c2bd18922a2e95d89c6dca915d9edcacd5b3ab04
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Mon Jul 24 15:41:32 2017 +0200
Add some const and fix some scheduler logging
Change-Id: Id20767ff2be34a21896d3ce2b76f3944acdb1b77
commit 30bc7d0941ccc406f66338b8869e463acbf84ee3
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Jul 20 15:49:45 2017 +0200
WIN use Reschedule instead of own dispatch loops
Since we're filtering the wakeup timer event in the main dispatch
loop, we should use Application::Reschedule in the Backend.
Conflicts:
vcl/win/gdi/salprn.cxx
vcl/win/window/salframe.cxx
Change-Id: Ie02c3533e8a6a7905281f129489e4f6f53f74692
commit 2acfde19c558a5db0be0dca368fa46e43595b5cb
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Jul 19 15:20:04 2017 +0200
SalInstance::DoYield: Don't drop SolarMutex when accessing user event queue
<https://ci.libreoffice.org/job/lo_tb_master_linux_dbg/14468/console> fails with
the assert in the OSL_DEBUG_LEVEL > 0 test code in
Scheduler::ProcessEventsToIdle firing (see below), indicating that (even though
the SolarMutex is locked one frame up in VCLXToolkit::processEventsToIdle), when
Application::Reschedule(true) returned, there are unprocessed events in the
queue.
That failure is with the headless plugin, and looking at
SvpSalInstance::DoYield, there was a window of time after m_aEventGuard has been
released and before the SolarMutex has been re-acquired, where other threads
could enqueue events.
If Application::Reschedule(true) can thus not guarantee that the queue is empty
when it returned, that would mean that the assert in
Scheduler::ProcessEventsToIdle (introduced with
c0710abfebd320903a3edb23d4b1441ea351b0be "Add some Scheduler unit tests and
logging") is bogus.
However, at least the two SalInstance::DoYield implementations
SvpSalInstance::DoYield and AquaSalInstance::DoYield appear to have no reason
in the first place to drop the SolarMutex when accessing the user event queue.
So removing that dropping should make the assert in
Scheduler::ProcessEventsToIdle faithful, at least for these two implementations.
But I have no idea whether the other three implementations
(X11SalInstance::DoYield in vcl/unx/generic/app/salinst.cxx,
GtkInstance::DoYield in vcl/unx/gtk/gtkinst.cxx, and WinSalInstance::DoYield in
vcl/win/app/salinst.cxx) have similar issues---i.e., whether everything is good
after this change, whether those other implementations need similar changes, or
whether ultimately Application::Reschedule(true) cannot guarantee the queue to
be empty upon return (in which case the assert in Scheduler::ProcessEventsToIdle
would need to go).
> warn:vcl.schedule:27575:54:vcl/source/app/svapp.cxx:535: Unprocessed Idle: vcl::Window maPaintIdle
> soffice.bin: /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/app/svapp.cxx:540: static void Scheduler::ProcessEventsToIdle(): Assertion `!bAnyIdle' failed.
[...]
> Thread 2 (Thread 0x2b12bf1e4a00 (LWP 27575)):
> #0 0x00002b12bfb1a69d in poll () at /lib64/libc.so.6
> #1 0x00002b12ca9129e7 in SvpSalInstance::DoReleaseYield(int) (this=0x1be8b40, nTimeoutMS=5) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/headless/svpinst.cxx:392
> aPoll = {fd = 6, events = 1, revents = 0}
> nAcquireCount = 1
> #2 0x00002b12ca9128c9 in SvpSalInstance::DoYield(bool, bool, unsigned long) (this=0x1be8b40, bWait=true, bHandleAllCurrentEvents=false, nReleased=0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/headless/svpinst.cxx:375
> nTimeoutMS = 5
> __PRETTY_FUNCTION__ = "virtual bool SvpSalInstance::DoYield(bool, bool, sal_uLong)"
> aEvents = empty std::__debug::list
> nAcquireCount = 1
> bEvent = false
> #3 0x00002b12ca7a98cd in ImplYield(bool, bool, unsigned long) (i_bWait=true, i_bAllEvents=false, nReleased=0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/app/svapp.cxx:484
> pSVData = 0x2b12cb2a9e00 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance>
> bProcessedEvent = false
> #4 0x00002b12ca7a5796 in Application::Yield() () at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/app/svapp.cxx:555
> #5 0x00002b12ca7a52f5 in Application::Execute() () at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/app/svapp.cxx:461
> pSVData = 0x2b12cb2a9e00 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance>
> #6 0x00002b12bf69c7e5 in desktop::Desktop::DoExecute() () at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/desktop/source/app/app.cxx:1350
> #7 0x00002b12bf69d9c4 in desktop::Desktop::Main() (this=0x7fff49ea9ac0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/desktop/source/app/app.cxx:1735
> layer2 = {m_aEnvTypeName = "gcc3", m_xPreviousContext = uno::Reference to (desktop::DesktopContext *) 0x1bebdf8}
> rCmdLineArgs = @0x2b12bfa2c6a0: {m_cwdUrl = boost::optional "file:///home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/workdir/JunitTest/sd_unoapi/user", m_minimized = false, m_invisible = false, m_norestore = true, m_headless = true, m_eventtesting = false, m_quickstart = false, m_noquickstart = true, m_terminateafterinit = false, m_nologo = true, m_nolockcheck = false, m_nodefault = false, m_help = false, m_writer = false, m_calc = false, m_draw = false, m_impress = false, m_global = false, m_math = false, m_web = false, m_base = false, m_helpwriter = false, m_helpcalc = false, m_helpdraw = false, m_helpbasic = false, m_helpmath = false, m_helpimpress = false, m_helpbase = false, m_version = false, m_splashpipe = false, m_textcat = false, m_scriptcat = false, m_safemode = false, m_unknown = "", m_bEmpty = false, m_bDocumentArgs = false, m_accept = std::__debug::vector of length 1, capacity 1 = {"pipe,name=oootest16264f8c-0bcc-4a4f-9c1b-52af72b78eb5;urp"}, m_unacc
ept = std::__debug::vector of length 0, capacity 0, m_openlist = std::__debug::vector of length 0, capacity 0, m_viewlist = std::__debug::vector of length 0, capacity 0, m_startlist = std::__debug::vector of length 0, capacity 0, m_forceopenlist = std::__debug::vector of length 0, capacity 0, m_forcenewlist = std::__debug::vector of length 0, capacity 0, m_printlist = std::__debug::vector of length 0, capacity 0, m_printtolist = std::__debug::vector of length 0, capacity 0, m_printername = "", m_conversionlist = std::__debug::vector of length 0, capacity 0, m_conversionparams = "", m_conversionout = "", m_infilter = std::__debug::vector of length 0, capacity 0, m_language = "", m_pidfile = ""}
> xRestartManager = uno::Reference to (comphelper::OOfficeRestartManager *) 0x29a7bf8
> layer = {m_aEnvTypeName = "gcc3", m_xPreviousContext = uno::Reference to (DesktopEnvironmentContext *) 0x1bebc38}
> xContext = uno::Reference to (cppu::ComponentContext *) 0x1d200b0
> aOptions = {<utl::detail::Options> = {<utl::ConfigurationBroadcaster> = {_vptr.ConfigurationBroadcaster = 0x2b12c8a3dfb0 <vtable for SvtAccessibilityOptions+16>, mpList = std::unique_ptr<std::__debug::vector<utl::ConfigurationListener*, std::allocator<utl::ConfigurationListener*> >> containing 0x0, m_nBroadcastBlocked = 0, m_nBlockedHint = NONE}, <utl::ConfigurationListener> = {_vptr.ConfigurationListener = 0x2b12c8a3dfe8 <vtable for SvtAccessibilityOptions+72>}, <No data fields>}, <SfxListener> = {_vptr.SfxListener = 0x2b12c8a3e010 <vtable for SvtAccessibilityOptions+112>, mpImpl = std::unique_ptr<SfxListener::Impl> containing 0x2a46530}, static sm_pSingleImplConfig = 0x2a47e60, static sm_nAccessibilityRefCount = 16}
> eStatus = desktop::Desktop::BS_OK
> aUnknown = ""
> inst_fin = desktop::userinstall::EXISTED
> xDesktop = uno::Reference to (framework::Desktop *) 0x29cb3a8
> aAppearanceCfg = {<utl::ConfigItem> = {<utl::ConfigurationBroadcaster> = {_vptr.ConfigurationBroadcaster = 0x2b12c8a3e090 <vtable for SvtTabAppearanceCfg+16>, mpList = std::unique_ptr<std::__debug::vector<utl::ConfigurationListener*, std::allocator<utl::ConfigurationListener*> >> containing 0x0, m_nBroadcastBlocked = 0, m_nBlockedHint = NONE}, sSubTree = "Office.Common/View", m_xHierarchyAccess = uno::Reference to (configmgr::RootAccess *) 0x29ca3f8, xChangeLstnr = empty uno::Reference, m_nMode = DelayedUpdate, m_bIsModified = false, m_bEnableInternalNotification = false, m_nInValueChange = 0}, nDragMode = SystemDep, nSnapMode = NONE, nMiddleMouse = (unknown: 2), nAAMinPixelHeight = 8, bMenuMouseFollow = true, bFontAntialiasing = true, static bInitialized = true}
> #8 0x00002b12ca7b33d0 in ImplSVMain() () at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/app/svmain.cxx:194
> pSVData = 0x2b12cb2a9e00 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance>
> nReturn = 1
> bInit = true
> #9 0x00002b12ca7b3539 in SVMain() () at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/app/svmain.cxx:232
> nRet = 0
> #10 0x00002b12bf6f1ff1 in soffice_main() () at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/desktop/source/app/sofficemain.cxx:163
> bSuccess = true
> aDesktop = {<Application> = {_vptr.Application = 0x2b12bfa269b0 <vtable for desktop::Desktop+16>}, m_rSplashScreen = empty uno::Reference, m_bCleanedExtensionCache = false, m_bServicesRegistered = true, m_aBootstrapError = desktop::Desktop::BE_OK, m_aBootstrapErrorMessage = "", m_aBootstrapStatus = desktop::Desktop::BS_OK, m_xLockfile = std::unique_ptr<desktop::Lockfile> containing 0x29c9b10, m_firstRunTimer = {<Task> = {_vptr.Task = 0x2b12cb2911b0 <vtable for Timer+16>, mpSchedulerData = 0x0, mpDebugName = 0x2b12bf777570 "desktop::Desktop m_firstRunTimer", mePriority = DEFAULT, mbActive = false}, maInvokeHandler = {function_ = 0x2b12bf6a2c6c <desktop::Desktop::LinkStubAsyncInitFirstRun(void*, Timer*)>, instance_ = 0x7fff49ea9ac0}, mnTimeout = 3000, mbAuto = false}, m_aUpdateThread = {_M_id = {_M_thread = 0}}, static pResMgr = 0x0}
> rCmdLineArgs = @0x2b12bfa2c6a0: {m_cwdUrl = boost::optional "file:///home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/workdir/JunitTest/sd_unoapi/user", m_minimized = false, m_invisible = false, m_norestore = true, m_headless = true, m_eventtesting = false, m_quickstart = false, m_noquickstart = true, m_terminateafterinit = false, m_nologo = true, m_nolockcheck = false, m_nodefault = false, m_help = false, m_writer = false, m_calc = false, m_draw = false, m_impress = false, m_global = false, m_math = false, m_web = false, m_base = false, m_helpwriter = false, m_helpcalc = false, m_helpdraw = false, m_helpbasic = false, m_helpmath = false, m_helpimpress = false, m_helpbase = false, m_version = false, m_splashpipe = false, m_textcat = false, m_scriptcat = false, m_safemode = false, m_unknown = "", m_bEmpty = false, m_bDocumentArgs = false, m_accept = std::__debug::vector of length 1, capacity 1 = {"pipe,name=oootest16264f8c-0bcc-4a4f-9c1b-52af72b78eb5;urp"}, m_unacc
ept = std::__debug::vector of length 0, capacity 0, m_openlist = std::__debug::vector of length 0, capacity 0, m_viewlist = std::__debug::vector of length 0, capacity 0, m_startlist = std::__debug::vector of length 0, capacity 0, m_forceopenlist = std::__debug::vector of length 0, capacity 0, m_forcenewlist = std::__debug::vector of length 0, capacity 0, m_printlist = std::__debug::vector of length 0, capacity 0, m_printtolist = std::__debug::vector of length 0, capacity 0, m_printername = "", m_conversionlist = std::__debug::vector of length 0, capacity 0, m_conversionparams = "", m_conversionout = "", m_infilter = std::__debug::vector of length 0, capacity 0, m_language = "", m_pidfile = ""}
> aUnknown = ""
> #11 0x0000000000400957 in sal_main () at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/desktop/source/app/main.c:48
> ret = 0
> #12 0x000000000040093d in main (argc=8, argv=0x7fff49ea9df8) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/desktop/source/app/main.c:47
> ret = 0
>
> Thread 1 (Thread 0x2b12e6862700 (LWP 11663)):
> #0 0x00002b12bfa635f7 in raise () at /lib64/libc.so.6
> #1 0x00002b12bfa64ce8 in abort () at /lib64/libc.so.6
> #2 0x00002b12bf406165 in (anonymous namespace)::callSystemHandler(int, siginfo_t*, void*) (signal=6, info=0x2b12e68607f0, context=0x2b12e68606c0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/sal/osl/unx/signal.cxx:389
> act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0xe6860b90}
> i = 5
> #3 0x00002b12bf406472 in (anonymous namespace)::signalHandlerFunction(int, siginfo_t*, void*) (signal=6, info=0x2b12e68607f0, context=0x2b12e68606c0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/sal/osl/unx/signal.cxx:486
> act = {__sigaction_handler = {sa_handler = 0x2b12e68607e0, sa_sigaction = 0x2b12e68607e0}, sa_mask = {__val = {0, 18446744069414584320, 0, 0, 61329184, 47360176948768, 47356309405696, 0, 47356309405696, 47356309405696, 4294967295, 47356309405696, 0, 0, 47359528444352, 47360176950400}}, sa_flags = -72537977, sa_restorer = 0x2b12bfdea1c0 <_IO_2_1_stderr_>}
> Info = {Signal = osl_Signal_AccessViolation, UserSignal = 6, UserData = 0x0}
> #4 0x00002b12bfa63670 in <signal handler called> () at /lib64/libc.so.6
> #5 0x00002b12bfa635f7 in raise () at /lib64/libc.so.6
> #6 0x00002b12bfa64ce8 in abort () at /lib64/libc.so.6
> #7 0x00002b12bfa5c566 in __assert_fail_base () at /lib64/libc.so.6
> #8 0x00002b12bfa5c612 in () at /lib64/libc.so.6
> #9 0x00002b12ca7a56ba in Scheduler::ProcessEventsToIdle() () at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/vcl/source/app/svapp.cxx:540
> pSVData = 0x2b12cb2a9e00 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance>
> bAnyIdle = true
> __PRETTY_FUNCTION__ = "static void Scheduler::ProcessEventsToIdle()"
> nSanity = 1
> pSchedulerData = 0x0
> #10 0x00002b12c8c8c554 in (anonymous namespace)::VCLXToolkit::processEventsToIdle() (this=0x3abc2a0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/toolkit/source/awt/vclxtoolkit.cxx:1897
> aSolarGuard = {m_solarMutex = @0x1be9610}
> aZone = {m_sProfileId = 0x2b12c8e672a2 "processEvents", m_aCreateTime = 0}
> #11 0x00002b12e317751d in gcc3::callVirtualMethod(void*, unsigned int, void*, _typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int, unsigned long*, double*) (pThis=0x3abc2f0, nVtableIndex=9, pRegisterReturn=0x0, pReturnTypeRef=0x1c07390, bSimpleReturn=true, pStack=0x2b12e6861170, nStack=0, pGPR=0x2b12e68612d0, pFPR=0x2b12e6861300) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:133
> data = {pMethod = 47359678006708, pStack = 0x2b12e6861170, nStack = 0, pGPR = 0x2b12e68612d0, pFPR = 0x2b12e6861300, rax = 0, rdx = 47360176951616, xmm0 = 2.3399007939816937e-310, xmm1 = 3.0079874608688941e-316}
> pMethod = 47359683834264
> #12 0x00002b12e317615c in cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*, bridges::cpp_uno::shared::VtableSlot, typelib_TypeDescriptionReference*, sal_Int32, typelib_MethodParameter*, void*, void**, uno_Any**) (pThis=0x3ab9a80, aVtableSlot=..., pReturnTypeRef=0x1c07390, nParams=0, pParams=0x0, pUnoReturn=0x0, pUnoArgs=0x0, ppUnoExc=0x2b12e6861488) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:237
> pStack = 0x2b12e6861170
> pFPR = {2.3399036413000935e-310, 2.3399017635979741e-310, 1.9097962118687451e-313, 2.3399036413020203e-310, 2.9003052604790195e-316, -1.3614915359519845e+193, 2.339903641302465e-310, 0}
> __PRETTY_FUNCTION__ = "void cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*, bridges::cpp_uno::shared::VtableSlot, typelib_TypeDescriptionReference*, sal_Int32, typelib_MethodParameter*, void*, void**, uno_Any**)"
> pCppArgs = 0x2b12e6861160
> pStackStart = 0x2b12e6861170
> pGPR = {61588208, 9, 47360176952128, 47360119419570, 0, 58702832}
> nTempIndices = 0
> nFPR = 0
> pAdjustedThisPtr = 0x3abc2f0
> ppTempParamTypeDescr = 0x2b12e6861160
> nGPR = 1
> pReturnTypeDescr = 0x1c07390
> pCppReturn = 0x0
> bSimpleReturn = true
> pTempIndices = 0x2b12e6861160
> #13 0x00002b12e3176bdb in bridges::cpp_uno::shared::unoInterfaceProxyDispatch(_uno_Interface*, _typelib_TypeDescription const*, void*, void**, _uno_Any**) (pUnoI=0x3ab9a80, pMemberDescr=0x37fbbf0, pReturn=0x0, pArgs=0x0, ppException=0x2b12e6861488) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:425
> nMemberPos = 27
> aVtableSlot = {offset = 0, index = 9}
> pThis = 0x3ab9a80
> pTypeDescr = 0x2b14740
> __PRETTY_FUNCTION__ = "void bridges::cpp_uno::shared::unoInterfaceProxyDispatch(uno_Interface*, const typelib_TypeDescription*, void*, void**, uno_Any**)"
> #14 0x00002b12e441cf28 in binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny*, std::__debug::vector<binaryurp::BinaryAny, std::allocator<binaryurp::BinaryAny> >*) const (this=0x3a0fd50, returnValue=0x2b12e68618a0, outArguments=0x2b12e6861920) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/binaryurp/source/incomingrequest.cxx:242
> exc = <error reading variable: Cannot access memory at address 0x7261686320747376>
> pexc = 0x2b12e68614b0
> retType = {_pTypeDescr = 0x1c07390}
> nSize = 0
> retBuf = std::__debug::vector of length 0, capacity 0
> outBufs = empty std::__debug::list
> args = std::__debug::vector of length 0, capacity 0
> __PRETTY_FUNCTION__ = "bool binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny*, std::__debug::vector<binaryurp::BinaryAny>*) const"
> isExc = false
> #15 0x00002b12e441bd16 in binaryurp::IncomingRequest::execute() const (this=0x3a0fd50) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/binaryurp/source/incomingrequest.cxx:79
> resetCc = true
> oldCc = {m_pUnoI = 0x0}
> ret = {data_ = _uno_Any(void)}
> outArgs = std::__debug::vector of length 0, capacity 0
> isExc = false
> #16 0x00002b12e443c7a4 in binaryurp::(anonymous namespace)::request(void*) (pThreadSpecificData=0x3a0fd50) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/binaryurp/source/reader.cxx:85
> __PRETTY_FUNCTION__ = "void binaryurp::{anonymous}::request(void*)"
> #17 0x00002b12c2ce1f5f in cppu_threadpool::JobQueue::enter(long, bool) (this=0x3ab9da0, nDisposeId=61386512, bReturnWhenNoJob=true) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/cppu/source/threadpool/jobqueue.cxx:107
> guard = {pT = 0x3ab9da0}
> job = {pThreadSpecificData = 0x3a0fd50, doRequest = 0x2b12e443c73b <binaryurp::(anonymous namespace)::request(void*)>}
> pReturn = 0x0
> #18 0x00002b12c2ce6bfd in cppu_threadpool::ORequestThread::run() (this=0x3a8af10) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/cppu/source/threadpool/thread.cxx:172
> #19 0x00002b12c2ce712b in osl::threadFunc(void*) (param=0x3a8af20) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/include/osl/thread.hxx:185
> pObj = 0x3a8af20
> #20 0x00002b12bf40d7bd in osl_thread_start_Impl(void*) (pData=0x3a4c7e0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/sal/osl/unx/thread.cxx:237
> terminate = false
> pImpl = 0x3a4c7e0
> __PRETTY_FUNCTION__ = "void* osl_thread_start_Impl(void*)"
> #21 0x00002b12bfdf7dc5 in start_thread () at /lib64/libpthread.so.0
> #22 0x00002b12bfb24ced in clone () at /lib64/libc.so.6
[...]
> make[1]: *** [/home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/workdir/JunitTest/sd_unoapi/done] Error 1
Change-Id: I7d034c02a49d315104d8329a4e1119e14e8e5e40
Reviewed-on: https://gerrit.libreoffice.org/40176
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
commit ae874484db56246a0c3755a4cd2979a6f4424ea1
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Wed Jul 19 15:48:39 2017 +0200
tdf#109123 WIN Run instant timerout with low priority
This busy-lock happens, because user messages have a higher priority
then some system messages. What happens:
1. The main system loop picks up the LO scheduler
2. The idle worker (IW) is started
3. IW checks using AnyInput( VCL_INPUT_ANY ) for system events
4. A system event is found
5. The LO scheduler gets posted again
6. The main system loop picks up the LO scheduler instead of the
system message => goto 2
Normally it's suggested to use WM_TIMER in this case, as these messages
are supposed to have the lowest priority. But this doesn't work, if
you use PostMessage to generate them and SetTimer doesn't accept a
0ms timeout. At least PeakMessage also picks up the WM_TIMER message
before the system message, probably because PostMessage is somehow
related to the threads queue - who knows.
In the end this implements a manual, low priority event, which is checked
at the end of the ImplSalYield function. It just runs, if there is
nothing else to do. We still have to emit the timer callback event,
as ImplSalYield may wait in GetMessage, but wParam now indicates, if
it's a wakeup and can be ignored. We use the same event, so it's
easier to filter.
Thanks to Mike Kaganski for the missing information and ideas for the
final implementation.
Change-Id: Ib8e4f214ab8d3731d5594d68f38f46982c2eb36d
Reviewed-on: https://gerrit.libreoffice.org/40190
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
commit 1bf599039831d4ecf91f65ca1ac92029762ba125
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Jul 20 12:56:24 2017 +0200
Don't run testIdleMainloop on Windows
Was just wondering, why the test finished so fast on Windows,
and realized it's actually empty due to "#ifndef WIN32".
Change-Id: I050b7cb7bd66bdd2a215ef6e7eaf26355e8d962f
commit ec3982bac1a433275f5111b15a3667a89ee10436
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Tue Jul 18 19:55:01 2017 +0200
tdf#109123 Change SwDocIdle base class to Idle
This hides SwDocIdle from SalInstance::AnyInput( VCL_INPUT_ANY )
on Windows. Otherwise Writer assumes there is more stuff to do, as
it can't know the scheduled Windows event is just for itself,
resulting in a busy loop, which freezes Writer.
Reviewed-on: https://gerrit.libreoffice.org/40189
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
Conflicts:
sw/source/core/doc/DocumentStatisticsManager.cxx
Change-Id: I919c40e8e1673eb09a69a3084203d1c4a6ecac8a
commit 8c086a89b7704fac72965e584412831af2c193a5
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Tue Jul 18 15:28:44 2017 +0200
Annotate some more Timers and Idles
Reviewed-on: https://gerrit.libreoffice.org/40188
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
Conflicts:
sfx2/source/view/ipclient.cxx
svx/inc/sdr/contact/objectcontactofpageview.hxx
Change-Id: Ic8ca00db385ed59bb16744581f9d7cc0fcbb4f5b
commit 8d124e4e734f228f501050ed3d0da3a79804b294
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Mon Jul 17 14:10:16 2017 +0200
WIN revert to Sleep(1) for yield
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
commit daac7af935ceeb6ccc154d6d6b1ba7e95d0a2e88
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Mon Jul 17 13:58:44 2017 +0200
WIN annotate GdiPlusBuffer Timer
Change-Id: Ia7aa081848647314e14b5ccd3063d51700f2b6c6
commit 530adc6199be70980df836242ea623ade6779d3c
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Fri Jul 14 17:17:15 2017 +0200
Fix instant 0ms scheduler wakeup for headless
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
commit d7da6b5f292eb70024c134451c62fbb8b0ffdac5
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Jul 13 16:05:56 2017 +0200
GTK+ convert to a single-shot timer
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
commit c4d8912ccf809f3255d89d79f3ac8b5d6570d575
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Jul 13 14:57:21 2017 +0200
Revert "GTK+ simplifiy system timer implementation"
Current LO baseline doesn't have g_source_get_ready_time,
so we keep the old stuff.
This reverts commit 3e20ce802ee2ab49c4f2a98880f6e999657686bb.
Change-Id: I32c39fa70c8d52cbb78620f528d60a986087dfd0
commit 313d6bfab5e669f1128beb7aa5e817d95a35f0eb
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Wed Apr 5 14:44:34 2017 +0200
WIN shorten DoYield by using existing functions
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
commit 802b1ed757441b376569415a955bde35627f304c
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Wed Sep 14 18:17:18 2016 +0200
Don't poll busy documents via idle task
Creates a very busy idle-loop, for non-task work like mail merge.
Conflicts:
sw/source/core/inc/DocumentTimerManager.hxx
Change-Id: If7be82e4675008f23e6f4f6be5c40df40a231a8b
commit 6d90f98b355805881d5a57f24973f7b0fd0854c2
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sun Jul 31 16:35:49 2016 +0200
Don't update document stats for non-idle views
This functionality should be merged into the DocumentTimerManager,
which itself should run the different document idle tasks via
seperate jobs instead of a single idle, if they don't depend on
each other.
To implement a non-busy, suspendable Idle, this adds an AutoIdle
class, which is automatically re-scheduled after being processed.
It also adds a SwDocIdle, which isn't ready to schedule for busy
documents.
Conflicts:
sw/source/core/doc/DocumentStatisticsManager.cxx
Change-Id: I185137ed3423ecaae0f7edb39018d26c4244d359
commit bec653b8df85372b1c5065601e23fa399117bda2
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Wed Aug 10 12:00:53 2016 +0200
Reorganize Scheduler priority classes
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.
Conflicts:
formula/source/ui/dlg/formula.cxx
svx/source/sdr/event/eventhandler.cxx
sw/source/uibase/docvw/srcedtw.cxx
sw/source/uibase/utlui/unotools.cxx
vcl/source/uitest/uno/uiobject_uno.cxx
Change-Id: I498a73fd02d5fb6f5d7e9f742f3bce972de9b1f9
commit a7f55104ff8b83a8d772101d8f17af43213eb39d
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sun Jan 29 17:12:25 2017 +0100
Drop Task::ReadyForSchedule
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
commit d135cc3c752fdc82c654af6bf6da09576867c2d5
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sat Jan 28 00:54:33 2017 +0100
Remove duplicated delete information
Task::mbActive already stores the inverse information of
ImplSchedulerData::mbDelete, so we can drop the latter one.
Change-Id: I57f8c23ca1eebdeed780a644c83fcbeb9b92cd66
commit b1059dc40bfe5b0d0514b7e7584c9e9245a1d4e1
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Fri Jan 27 23:40:11 2017 +0100
Run LO scheduler only via system timer
Change-Id: I5283f18aebcd6797ad35771ae8fc4a0f425ff924
commit 34f4efd669773dd45144a5d2a3b1aa9363181262
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Nov 29 14:03:52 2016 +0100
Window::Invalidate must be called with SolarMutex locked
...it internally calls Scheduler::Start, which asserts now since
c00d8271ba443c4f0acf657c226eea4824597f95 "vcl: assert solar mutex is held for
various timer / scheduler ops." Caused the assert to fire when removing an
extension via "Tools - Extension Manager... - Remove".
Conflicts:
desktop/source/deployment/gui/dp_gui_extlistbox.cxx
Change-Id: Ied0591b799af333b3a4c11af07f5f8f1657304d6
commit 3d5038d668c26b9fafa5cfc145533b5ce29e3aaa
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Nov 29 11:29:19 2016 +0100
Idle::Start must be called with SolarMutex locked
...as asserted now since c00d8271ba443c4f0acf657c226eea4824597f95 "vcl: assert
solar mutex is held for various timer / scheduler ops." Caused that assert to
fire when adding an extension via "Tools - Extension Manager... Add".
Change-Id: I86eeb2c4a83c3dff98ba9012c068af91e7932df6
commit 3d6fd3f7816b63575478520d4635dca09d4fcba4
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Tue Mar 21 13:32:47 2017 +0100
OSX fix empty message queue handling
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.
Conflicts:
vcl/Module_vcl.mk
vcl/osx/salinst.cxx
Change-Id: Ib41186425b2f76faa0e9f116f47fdcd60d878099
commit 817718f9fc75d13f9b421382e605b8c34979c3ba
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Fri Feb 24 18:27:49 2017 +0100
OSX change to run LO via a single shot timer
As all other backends, this runs the LO main loop just via the
OSX main loop.
Conflicts:
vcl/osx/salinst.cxx
vcl/osx/saltimer.cxx
vcl/osx/vclnsapp.mm
Change-Id: Ie7562444951e16ff58edcaf6409f32809314c2fa
commit 5179929ff404f6b2b7ee48e5aa45f9613a342c66
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Nov 22 15:59:01 2016 +0100
Timer::Start must be called with SolarMutex locked
cf. DBG_TESTSOLARMUTEX added to Scheduler::Start in
c00d8271ba443c4f0acf657c226eea4824597f95 "vcl: assert solar mutex is held for
various timer / scheduler ops."
So cover operations on AutoRecovery::m_aTimer with SolarMutexGuard instead of
AutoRecovery's own mutex. Is it safe to split guarding like that here?
Hopefully. Would it be better to exclusively use SolarMutexGuard? Maybe.
The DBG_TESTSOLARMUTEX assert fired at least on macOS when opening some .odb
file:
> frame #19: 0x00007fffc80e5893 libsystem_c.dylib`__assert_rtn + 320
> frame #20: 0x000000010f5e4dae libvcllo.dylib`ImplDbgTestSolarMutex() + 110 at vcl/source/app/dbggui.cxx:47
> frame #21: 0x000000010e6a5d62 libtllo.dylib`DbgTestSolarMutex() + 130 at tools/source/debug/debug.cxx:74
> frame #22: 0x000000010f5eeb3a libvcllo.dylib`Scheduler::Start(this=0x00000001489233a8) + 58 at vcl/source/app/scheduler.cxx:287
> frame #23: 0x000000010f62f03f libvcllo.dylib`Timer::Start(this=0x00000001489233a8) + 31 at vcl/source/app/timer.cxx:93
> frame #24: 0x00000001481b7483 libfwklo.dylib`(anonymous namespace)::AutoRecovery::implts_updateTimer(this=0x00000001489232a0) + 259 at framework/source/services/autorecovery.cxx:2274
> frame #25: 0x00000001481b3009 libfwklo.dylib`(anonymous namespace)::AutoRecovery::changesOccurred(this=0x00000001489232a0, aEvent=0x00007f92d87d0ec8) + 649 at framework/source/services/autorecovery.cxx:1678
> frame #26: 0x000000014807e04b libfwklo.dylib`framework::WeakChangesListener::changesOccurred(this=0x0000000148c42488, rEvent=0x00007f92d87d0ec8) + 155 at framework/inc/helper/mischelper.hxx:222
> frame #27: 0x000000011c13f29e libconfigmgrlo.dylib`configmgr::Broadcaster::send(this=0x00007000082f9e70) + 5694 at configmgr/source/broadcaster.cxx:187
> frame #28: 0x000000011c0fd9bc libconfigmgrlo.dylib`configmgr::Access::insertByName(this=0x0000000148c118e0, aName=0x00007000082fa258, aElement=0x00007000082fa118) + 3196 at configmgr/source/access.cxx:1232
> frame #29: 0x00000001481bdd23 libfwklo.dylib`(anonymous namespace)::AutoRecovery::implts_flushConfigItem(this=0x00000001489232a0, rInfo=0x00007000082fa600, bRemoveIt=false)::AutoRecovery::TDocumentInfo const&, bool) + 2483 at framework/source/services/autorecovery.cxx:2092
> frame #30: 0x00000001481bb09d libfwklo.dylib`(anonymous namespace)::AutoRecovery::implts_registerDocument(this=0x00000001489232a0, xDocument=0x00007000082fa790) + 3597 at framework/source/services/autorecovery.cxx:2519
> frame #31: 0x00000001481b2a35 libfwklo.dylib`(anonymous namespace)::AutoRecovery::documentEventOccured(this=0x00000001489232a0, aEvent=0x00007f92db3d8620) + 165 at framework/source/services/autorecovery.cxx:1571
> frame #32: 0x00000001481d025b libfwklo.dylib`framework::WeakDocumentEventListener::documentEventOccured(this=0x0000000148c42548, rEvent=0x00007f92db3d8620) + 155 at framework/inc/helper/mischelper.hxx:258
> frame #33: 0x0000000109fca69e libsfxlo.dylib`comphelper::OInterfaceContainerHelper2::NotifySingleListener<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent>::operator(this=0x00007000082fa910, listener=0x00007000082fa880)(com::sun::star::uno::Reference<com::sun::star::document::XDocumentEventListener> const&) const + 126 at include/comphelper/interfacecontainer2.hxx:272
> frame #34: 0x0000000109fca4a3 libsfxlo.dylib`void comphelper::OInterfaceContainerHelper2::forEach<com::sun::star::document::XDocumentEventListener, comphelper::OInterfaceContainerHelper2::NotifySingleListener<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent> >(this=0x00000001489186b8, func=0x00007000082fa910) + 163 at include/comphelper/interfacecontainer2.hxx:285
> frame #35: 0x0000000109fca0de libsfxlo.dylib`void comphelper::OInterfaceContainerHelper2::notifyEach<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent>(this=0x00000001489186b8, NotificationMethod=21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00, Event=0x00007f92db3d8620)(com::sun::star::document::DocumentEvent const&), com::sun::star::document::DocumentEvent const&) + 126 at include/comphelper/interfacecontainer2.hxx:298
> frame #36: 0x0000000109fc9f08 libsfxlo.dylib`(anonymous namespace)::SfxGlobalEvents_Impl::implts_notifyListener(this=0x0000000148918628, aEvent=0x00007f92db3d8620) + 168 at sfx2/source/notify/globalevents.cxx:438
> frame #37: 0x0000000109fc6874 libsfxlo.dylib`(anonymous namespace)::SfxGlobalEvents_Impl::documentEventOccured(this=0x0000000148918628, Event=0x00007f92db3d8620) + 132 at sfx2/source/notify/globalevents.cxx:243
> frame #38: 0x000000014957597e libdbalo.dylib`comphelper::OInterfaceContainerHelper2::NotifySingleListener<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent>::operator(this=0x00007000082fab30, listener=0x00007000082faaa0)(com::sun::star::uno::Reference<com::sun::star::document::XDocumentEventListener> const&) const + 126 at include/comphelper/interfacecontainer2.hxx:272
> frame #39: 0x0000000149575753 libdbalo.dylib`void comphelper::OInterfaceContainerHelper2::forEach<com::sun::star::document::XDocumentEventListener, comphelper::OInterfaceContainerHelper2::NotifySingleListener<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent> >(this=0x00007f92db0965f0, func=0x00007000082fab30) + 163 at include/comphelper/interfacecontainer2.hxx:285
> frame #40: 0x000000014957407e libdbalo.dylib`void comphelper::OInterfaceContainerHelper2::notifyEach<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent>(this=0x00007f92db0965f0, NotificationMethod=21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00, Event=0x00007f92db3d8620)(com::sun::star::document::DocumentEvent const&), com::sun::star::document::DocumentEvent const&) + 126 at include/comphelper/interfacecontainer2.hxx:298
> frame #41: 0x0000000149573dfb libdbalo.dylib`dbaccess::DocumentEventNotifier_Impl::impl_notifyEvent_nothrow(this=0x00007f92db0965a0, _rEvent=0x00007f92db3d8620) + 379 at dbaccess/source/core/dataaccess/documenteventnotifier.cxx:196
> frame #42: 0x0000000149574580 libdbalo.dylib`dbaccess::DocumentEventNotifier_Impl::processEvent(this=0x00007f92db0965a0, _rEvent=0x00007f92db3d8610) + 224 at dbaccess/source/core/dataaccess/documenteventnotifier.cxx:229
> frame #43: 0x000000010832ba30 libcomphelper.dylib`comphelper::AsyncEventNotifierBase::execute(this=0x000000014df32dd0) + 1184 at comphelper/source/misc/asyncnotification.cxx:163
> frame #44: 0x000000010832e28a libcomphelper.dylib`comphelper::AsyncEventNotifierAutoJoin::run(this=0x000000014df32dd0) + 90 at comphelper/source/misc/asyncnotification.cxx:263
> frame #45: 0x000000010832f23e libcomphelper.dylib`::threadFunc(param=0x000000014df32dd0) + 30 at include/osl/thread.hxx:185
> frame #46: 0x0000000107e9bc27 libuno_sal.dylib.3`osl_thread_start_Impl(pData=0x00007f92db351d30) + 295 at sal/osl/unx/thread.cxx:240
> frame #47: 0x00007fffc82a1aab libsystem_pthread.dylib`_pthread_body + 180
> frame #48: 0x00007fffc82a19f7 libsystem_pthread.dylib`_pthread_start + 286
> frame #49: 0x00007fffc82a1221 libsystem_pthread.dylib`thread_start + 13
Change-Id: I58fe8d61bfc491fa635b75d471a221bbb55c0f6e
commit bdc6f126c739034435dbf2ae625408b6ff5e4822
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sun Oct 30 02:02:10 2016 +0100
WIN just wait for the Yield mutex in the timerout
Don't re-schedule a timeout, simply wait in the timer callback.
Conflicts:
vcl/win/app/saltimer.cxx
Change-Id: Ib46eb6dbf57f29c85ffdbd6492922020f7785d30
commit 4ce6370323bf5417cc01e9ebc416713aa4ab832f
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sun Oct 30 00:14:18 2016 +0000
WIN simplify system timer / LO event handling
This removes a level of indirection for the timer callback handling.
It also ensures we just have a single timeout message queued.
Also drops the 16bit MAX duration limit, as CreateTimerQueueTimer
uses a DWORD for the DueTime parameter, which is always UINT32.
CreateTimerQueueTimer already sets the period to 0, which makes it
a one-shot timer, but there is also the WT_EXECUTEONLYONCE, which
enforces the Period parameter to be 0.
Conflicts:
vcl/win/app/salinst.cxx
vcl/win/app/saltimer.cxx
vcl/win/window/salframe.cxx
Change-Id: I549142394334bdc098f053b42f222b23cf4fcecd
commit db34f7f2cd92d6db0ed153be9827d1316a008276
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sat Oct 29 12:00:08 2016 +0200
WIN unify deferred message handling
Moves the common code into ProcessOrDeferMessage.
All callers (try to) aquire the mutex before getting the
WinSalFrame pointer, except for ImplHandleDeferredPaintMsg.
This was probably an oversight, so this reverses the order in this
function, so the GetWindowPtr is now always protected by the Solar
mutex.
Conflicts:
vcl/win/window/salframe.cxx
Change-Id: Icb8f34f7e8716f0faa90a95903b1681f7489aed2
commit fd61712dae220591cbe8b0649857ce33148a144b
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sat Oct 29 02:11:32 2016 +0200
WIN cleanup paint message handling
Makes PAINT handling function use the POSTPAINT handling
function and unifies the locking behaviour, so we now check
the frame before trying to aquire the lock in both functions.
Conflicts:
vcl/win/window/salframe.cxx
Change-Id: Ia6bac6e24d95e680830c5405f0ab34cbed6e9688
commit bc2d67736434d544d13b3322f37b00608a585263
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sun Nov 13 06:13:22 2016 +0100
GTK+ simplifiy system timer implementation
Instead of implementing an own GSource, this implements the glib
based system timer using the g_timeout_source_new() function.
It removes the vector of GtkSalTimer and changes the remaining
timer to be single-shot, just like the Windows and KDE platforms.
The ownership handling is a little bit strange and should generally
be changed to use std::shared_ptr as the result of CreateSalTimer
for all backends.
Change-Id: Iea40a6284bdc5c121235af5a6079a92a679391ca
commit bf7e5f4e14e039b46a40e15786c0f88a536a65f7
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Nov 10 18:16:49 2016 +0000
KDE4 handle timers via queued custom events
Post the system timer as a custom event to the event queue and also
changes the PostUserEvent froom a timer to a posted custom event.
Conflicts:
vcl/unx/kde4/KDEXLib.cxx
vcl/unx/kde4/KDEXLib.hxx
Change-Id: I0b77e0c64fce04b20e82ba8bbf72b7a99b1339af
commit e29792b189193ad680a2dfd3afb724be723a7f7f
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Mon Oct 31 22:50:21 2016 +0100
KDE4 change system timer to be single-shot
Change-Id: I21a0a62bd0cd122e0da676579d2b2a93264acdd8
commit 9da74ee2e838e370db2768a632a3205ca1da6c68
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Tue Feb 7 16:58:31 2017 +0100
Restart the system timer if it returns to early
At least on Windows our GetSystemTicks() implementation - using
QueryPerformanceCounter - occasionally states, the timer returned
too early, which stops processing further LO events.
As a workaround we restart the timer, as it's now the only source
of running the LO main loop.
Probably we should use osl_getSystemTime, for measuring, which uses
GetSystemTimePreciseAsFileTime, if available. Nothing states
anything is monotonic, so in this regard it may be flawed too.
Change-Id: I94eacd8f5bacf277a68575cc8db84653cbc49d12
commit 58c51178177e98b1644ef830b7bc9831b4fe3a58
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Wed Sep 14 15:33:54 2016 +0200
Run Idle tasks immediatly
There is really no reason to wait a millisecond for an idle.
Conflicts:
include/vcl/scheduler.hxx
vcl/source/app/svapp.cxx
Change-Id: I7665d5f2e7d6ba3e01290a692bbc8e42c36b9986
commit 260d1e8de8bfaf366f72803bf1a2b7acf49b1783
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sun Jan 29 01:50:24 2017 +0100
SVP correctly handle sleep time
Don't add 500 usec for 0ms sleeps and always round up the sleep
time so we won't sleep too short.
Change-Id: I28dda435de44031c050b6edbfae1e9d392465d24
commit ee71c4b28654f402600c184857a4a2727773251d
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Wed Jan 25 15:53:15 2017 +0100
Round-robin invoked tasks
Add some round-robin to the task processing, so equal priority
(auto) tasks won't always be scheduled, if there are multiple
tasks with the same priority.
Change-Id: Ice111aa5f85e9181b3ee9799ca4df0d58f210fe9
commit 992825bbe5bbdbe58bbf48d609b903695afede4e
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sat Jan 28 00:31:21 2017 +0100
Correctly account invoked task
Don't account the to-be invoked task before invoking it.
If it happens to be restarted, account it and eventually lower
the system timer timeout.
Change-Id: I567e3b92c6c2999ce51aecb31f858e51cab6c999
commit 3a7c1269b59c045528de6a207c86d6eaee8eb3d3
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Wed Jan 25 15:49:44 2017 +0100
Introduce a scheduler stack
While the stack removes all invoked tasks from the queue, which
actively removes it from scheduling, it also helps to faster handle
nested calls, as we don't have to look for the previous position
to move the task to the end of the queue for the round robin.
Change-Id: I358cf2492e9630f67685a2b780509edb56691830
commit a172c088e9c42175adf9d3caaa33cfb29aaa7721
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Wed Jan 25 11:22:56 2017 +0100
Correctly account starting tasks
When (re-)starting the system timer for new task, we have to take
the already passed time into account to correctly set the new
timeout time for the system timer.
Change-Id: I1c1c61b3e54bd14d9451c53150251534b2a960f0
commit 3198719d024049702cef314f64a8d4a58ec09672
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Sep 8 06:55:30 2016 +0200
Drop special idle handling
Idles are just instant timers, which should most time have a low
priority, By dropping most special idle handling we'll just
schedule by priority.
This also reverts SalYieldResult back to a bool, which just
indicates if any event was processed.
Conflicts:
include/vcl/scheduler.hxx
vcl/inc/unx/gtk/gtkdata.hxx
vcl/osx/salinst.cxx
vcl/osx/salnstimer.mm
vcl/osx/saltimer.cxx
vcl/source/app/svapp.cxx
vcl/unx/generic/app/saldata.cxx
vcl/unx/gtk/gtkdata.cxx
vcl/unx/gtk3/gtk3gtkdata.cxx
vcl/unx/kde4/KDEXLib.cxx
vcl/unx/kde4/KDEXLib.hxx
vcl/win/app/saltimer.cxx
Change-Id: Ia0b91b06dffb77af066f01838d8f9483523bf67d
commit 80a1c40aee93b44d3a58a724deb04fa239aefb36
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sun Oct 30 00:03:34 2016 +0200
Change scheduler list to be queue-like
The scheduler modifies the SchedulerData list mainly in two ways:
1. Remove a finished item
2. Append a new item
This optimizes the Append operation by keeping a last element
pointer, so we don't have to walk the whole list to find it. This
way this list is converted to a queue-like structure.
Conflicts:
vcl/inc/svdata.hxx
Change-Id: If7214e1f6016414551abbef11f26f332737f7893
commit 0833c9e131a5300f1361486a4b0856e749a0c21c
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Fri Jan 20 13:24:02 2017 +0100
Just walk the task list once
This refactors some more scheduler code by merging the code from
ProcessTaskScheduling into CalculateMinimumTimeout and keeping the
ProcessTaskScheduling name.
It replace the bHasPendingIdles information with a HasPendingTasks
function, based on the sleep timeout and invoke time.
To drop IsIdle() we simply account Idles again and stop the system
timer, so we instantly run our application loop again. This makes
all Tasks really run immediate instead of waiting 1ms.
Change-Id: I690a8754e6b115a53e74ef777e988b66b4e5037f
commit f245aebaa7a77f967dff4ca156893de06117d162
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Fri Jan 20 13:12:43 2017 +0100
Refactor Scheduler by merging functions
Merges ImplSchedulerData::Invoke() into ProcessTaskScheduling()
and removes indention levels in CalculateMinimumTimeout by using
goto. This is straight forward.
Conflicts:
vcl/source/app/scheduler.cxx
Change-Id: I740b97315df92f8b979089e7e22058e628f95bc0
commit 4eddf3e8522370d7ecdbcd332dcf2271cf6bbd04
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Feb 2 17:21:23 2017 +0100
Move scheduler task into its own header
Conflicts:
desktop/qa/desktop_lib/test_desktop_lib.cxx
include/vcl/scheduler.hxx
sc/qa/unit/dataproviders_test.cxx
sc/qa/unit/tiledrendering/tiledrendering.cxx
sd/qa/unit/tiledrendering/tiledrendering.cxx
sw/qa/extras/tiledrendering/tiledrendering.cxx
vcl/source/app/scheduler.cxx
vcl/source/uitest/uno/uiobject_uno.cxx
Change-Id: I54534787b8cfa4c47dc09dde9c38a7893df9d367
commit f7c5f1832fb57bf3e219415df3ea19e0d6b11527
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sun Jan 29 01:27:17 2017 +0100
Refactor Scheduler global data
Move all Scheduler members of ImplSVData into ImplSchedulerContext
and make ImplSchedulerContext a member of ImplSVData.
Change-Id: I186bebdfb5701543595848968235b5a56b6598e9
commit 7c204eca6a07af0a015fdb64f802cd94950dac7d
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Mon Jan 23 11:56:41 2017 +0100
Add some Scheduler unit tests and logging
1. calling Start() for invoked tasks
2. correctly schedule by priority
3. self-stopping AutoTimer
This also adds SAL_INFO output to Scheduler and Task to log the
scheduling processing tasks.
Conflicts:
vcl/osx/salinst.cxx
vcl/qa/cppunit/timer.cxx
vcl/source/app/scheduler.cxx
vcl/unx/kde4/KDESalInstance.cxx
vcl/unx/kde4/KDESalInstance.hxx
Change-Id: I3c8a708d1fd51c550320f8af3f9486c43c32e358
commit 72a40276aaec688948e9e169cf8268c6c66a0dba
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Mon Jan 23 19:37:51 2017 +0100
Change all Idle* LINKs to be Timer*
Seem UBSAN doesn't like my forced reinterpret_cast to set the Idles
Link in the Timer class. Now there are two possible solution:
1. convert all (DECL|IMPL).*_LINK call sites to use a Timer* or
2. split the inheritance of Idle from Timer again to maintain
different Link<>s and move all common code into a TimerBase.
While the 1st is more correct, the 2nd has a better indicator for
Idles. This implements the first solution.
And while at it, this also converts all call sites of SetTimeoutHdl
and SetIdleHdl to SetInvokeHandler and gets rid of some local Link
objects, which are just passed to the SetInvokeHandler call.
It also introduces ClearInvokeHandler() and replaces the respective
call sites of SetInvokeHandler( Link<Timer *, void>() ).
Conflicts:
avmedia/inc/mediacontrol.hxx
avmedia/source/framework/mediacontrol.cxx
avmedia/source/framework/soundhandler.cxx
avmedia/source/framework/soundhandler.hxx
basctl/source/basicide/baside2.hxx
basctl/source/basicide/baside2b.cxx
basctl/source/dlged/dlged.cxx
basctl/source/inc/dlged.hxx
chart2/source/view/charttypes/GL3DBarChart.cxx
chart2/source/view/inc/GL3DBarChart.hxx
cui/source/dialogs/cuigaldlg.cxx
cui/source/dialogs/linkdlg.cxx
cui/source/dialogs/thesdlg.cxx
cui/source/inc/backgrnd.hxx
cui/source/inc/chardlg.hxx
cui/source/inc/cuigaldlg.hxx
cui/source/inc/linkdlg.hxx
cui/source/inc/macroass.hxx
cui/source/inc/thesdlg.hxx
cui/source/options/optjava.cxx
cui/source/options/optjava.hxx
cui/source/tabpages/backgrnd.cxx
cui/source/tabpages/chardlg.cxx
cui/source/tabpages/macroass.cxx
dbaccess/source/ui/inc/JoinTableView.hxx
dbaccess/source/ui/querydesign/JoinTableView.cxx
dbaccess/source/ui/tabledesign/TEditControl.cxx
desktop/source/app/app.cxx
desktop/source/deployment/gui/dp_gui_dialog2.cxx
desktop/source/deployment/gui/dp_gui_dialog2.hxx
editeng/source/editeng/impedit.hxx
editeng/source/editeng/impedit3.cxx
extensions/source/bibliography/bibcont.cxx
extensions/source/bibliography/bibcont.hxx
extensions/source/bibliography/toolbar.cxx
extensions/source/bibliography/toolbar.hxx
extensions/source/update/ui/updatecheckui.cxx
forms/source/component/ListBox.cxx
forms/source/component/ListBox.hxx
formula/source/ui/dlg/formula.cxx
formula/source/ui/dlg/funcutl.cxx
fpicker/source/office/iodlg.cxx
framework/source/services/autorecovery.cxx
include/formula/formula.hxx
include/formula/funcutl.hxx
include/sfx2/basedlgs.hxx
include/sfx2/dinfdlg.hxx
include/sfx2/dispatch.hxx
include/sfx2/dockwin.hxx
include/svtools/asynclink.hxx
include/svtools/filechangedchecker.hxx
include/svtools/treelistbox.hxx
include/svtools/wizdlg.hxx
include/svx/fontwork.hxx
include/svx/graphctl.hxx
include/svx/imapdlg.hxx
include/svx/modctrl.hxx
include/svx/numvset.hxx
include/svx/sidebar/PanelLayout.hxx
include/svx/svdpntv.hxx
include/vcl/dockwin.hxx
include/vcl/syswin.hxx
include/vcl/texteng.hxx
include/vcl/toolbox.hxx
include/vcl/window.hxx
linguistic/source/lngsvcmgr.cxx
linguistic/source/lngsvcmgr.hxx
reportdesign/source/ui/inc/DesignView.hxx
reportdesign/source/ui/report/DesignView.cxx
sc/inc/chartlis.hxx
sc/inc/document.hxx
sc/inc/scmod.hxx
sc/source/core/data/documen2.cxx
sc/source/core/tool/chartlis.cxx
sc/source/ui/app/scmod.cxx
sc/source/ui/dbgui/filtdlg.cxx
sc/source/ui/dbgui/sfiltdlg.cxx
sc/source/ui/docshell/autostyl.cxx
sc/source/ui/inc/acredlin.hxx
sc/source/ui/inc/anyrefdg.hxx
sc/source/ui/inc/autostyl.hxx
sc/source/ui/inc/conflictsdlg.hxx
sc/source/ui/inc/filtdlg.hxx
sc/source/ui/inc/navipi.hxx
sc/source/ui/inc/tphfedit.hxx
sc/source/ui/miscdlgs/acredlin.cxx
sc/source/ui/miscdlgs/anyrefdg.cxx
sc/source/ui/miscdlgs/conflictsdlg.cxx
sc/source/ui/navipi/navipi.cxx
sc/source/ui/pagedlg/tphfedit.cxx
sd/inc/drawdoc.hxx
sd/source/core/drawdoc4.cxx
sd/source/ui/dlg/brkdlg.cxx
sd/source/ui/dlg/filedlg.cxx
sd/source/ui/framework/configuration/ConfigurationUpdater.cxx
sd/source/ui/framework/module/ShellStackGuard.cxx
sd/source/ui/framework/module/ShellStackGuard.hxx
sd/source/ui/inc/BreakDlg.hxx
sd/source/ui/inc/View.hxx
sd/source/ui/slidesorter/controller/SlsAnimator.cxx
sd/source/ui/slidesorter/inc/controller/SlsAnimator.hxx
sd/source/ui/view/sdview4.cxx
sfx2/source/appl/appcfg.cxx
sfx2/source/appl/newhelp.cxx
sfx2/source/appl/newhelp.hxx
sfx2/source/control/dispatch.cxx
sfx2/source/control/itemdel.cxx
sfx2/source/dialog/basedlgs.cxx
sfx2/source/dialog/dinfdlg.cxx
sfx2/source/dialog/dockwin.cxx
sfx2/source/dialog/filedlghelper.cxx
sfx2/source/dialog/filedlgimpl.hxx
sfx2/source/dialog/templdlg.cxx
sfx2/source/doc/new.cxx
sfx2/source/inc/templdgi.hxx
sfx2/source/view/ipclient.cxx
starmath/inc/edit.hxx
starmath/source/edit.cxx
svtools/source/contnr/imivctl.hxx
svtools/source/contnr/imivctl1.cxx
svtools/source/contnr/svimpbox.cxx
svtools/source/contnr/treelistbox.cxx
svtools/source/control/asynclink.cxx
svtools/source/control/tabbar.cxx
svtools/source/dialogs/wizdlg.cxx
svtools/source/graphic/grfmgr.cxx
svtools/source/inc/svimpbox.hxx
svtools/source/misc/filechangedchecker.cxx
svx/inc/sdr/overlay/overlaymanagerbuffered.hxx
svx/inc/svdibrow.hxx
svx/source/dialog/_contdlg.cxx
svx/source/dialog/contimp.hxx
svx/source/dialog/fontwork.cxx
svx/source/dialog/graphctl.cxx
svx/source/dialog/imapdlg.cxx
svx/source/dialog/svxbmpnumvalueset.cxx
svx/source/form/datanavi.cxx
svx/source/form/formcontroller.cxx
svx/source/inc/datanavi.hxx
svx/source/inc/formcontroller.hxx
svx/source/sdr/overlay/overlaymanagerbuffered.cxx
svx/source/sidebar/PanelLayout.cxx
svx/source/sidebar/media/MediaPlaybackPanel.cxx
svx/source/sidebar/media/MediaPlaybackPanel.hxx
svx/source/stbctrls/modctrl.cxx
svx/source/svdraw/svdibrow.cxx
svx/source/svdraw/svdpntv.cxx
svx/source/tbxctrls/grafctrl.cxx
sw/inc/doc.hxx
sw/qa/extras/uiwriter/uiwriter.cxx
sw/source/core/doc/DocumentStatisticsManager.cxx
sw/source/core/doc/DocumentTimerManager.cxx
sw/source/core/doc/docdesc.cxx
sw/source/core/docnode/threadmanager.cxx
sw/source/core/inc/DocumentTimerManager.hxx
sw/source/core/inc/threadmanager.hxx
sw/source/ui/dbui/mmoutputtypepage.cxx
sw/source/ui/envelp/labfmt.cxx
sw/source/ui/envelp/labfmt.hxx
sw/source/ui/inc/mmresultdialogs.hxx
sw/source/uibase/docvw/edtwin.cxx
sw/source/uibase/docvw/srcedtw.cxx
sw/source/uibase/inc/edtwin.hxx
sw/source/uibase/inc/navipi.hxx
sw/source/uibase/inc/srcedtw.hxx
sw/source/uibase/inc/unotools.hxx
sw/source/uibase/utlui/navipi.cxx
sw/source/uibase/utlui/unotools.cxx
vcl/backendtest/VisualBackendTest.cxx
vcl/inc/svdata.hxx
vcl/inc/unx/gtk/gtksalmenu.hxx
vcl/source/app/svapp.cxx
vcl/source/edit/texteng.cxx
vcl/source/window/dockmgr.cxx
vcl/source/window/dockwin.cxx
vcl/source/window/paint.cxx
vcl/source/window/syswin.cxx
vcl/source/window/toolbox.cxx
vcl/source/window/window.cxx
vcl/unx/generic/print/genprnpsp.cxx
vcl/unx/gtk/gtksalmenu.cxx
Change-Id: I40c4167b1493997b7f136add4dad2f4ff5504b69
commit d6b1aae9094320c09464efd46e7981f4b125562b
Author: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
Date: Mon Jul 31 09:10:36 2017 +0200
sfx2: just use Idle in SfxItemDisruptor_Impl
This Application::InsertIdleHdl() stuff is ancient and now obsolete.
Change-Id: I082870328711b2159b05d8cb077c0e439b7ee94c
Reviewed-on: https://gerrit.libreoffice.org/27597
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
commit ba70e0906e02994f349e07815ebfbff3eccb73d5
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Jan 19 12:18:52 2017 +0100
Apply stricter member access control for Tasks
This disallows changing mbAuto and changing values of
ImplSchedulerData outside of Scheduler / Task functions.
Reviewed-on: https://gerrit.libreoffice.org/33317
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
Conflicts:
include/vcl/scheduler.hxx
Change-Id: Ia624999bd63190c072eb66427aec38e7ac8cfa1b
commit cf9467a4971e20a8ab1606c7e844fc2877a89c9f
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Jan 5 09:47:50 2017 +0100
KDE4 Qt always processes all pending events
Change-Id: I6a6e37c36a64640b641b116867da5c63c9d36bca
commit 0cd5c989b9ccc3ddeb2707b6995a0abc079442a6
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Wed Sep 14 13:48:02 2016 +0200
Change Idle to be a Timer subclass
Drops a lot of duplicated code, as Idle is just a convenience
class for instant, mostly low priority timers.
Conflicts:
include/vcl/idle.hxx
Change-Id: I847592e92e86d15ab1cab168bf0e667322e48048
commit ddf02eee4d984838fe57d69f3a831622a35fc0ec
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Wed Nov 2 16:43:02 2016 +0100
Add sensible timer handling for Calc input
There is no need to destroy and recreate the timer object.
Simply stop and start the timer as required.
Conflicts:
sc/source/ui/app/inputhdl.cxx
Change-Id: I2885fef8bdb90c379dc2e9b9caf986d250face5c
commit e42077e42024ad232a6413db72c79ca0c241300e
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Wed Jan 4 12:06:42 2017 +0100
Refactor Scheduler to add Task class
Moves all the "task-specific" stuff into a Task class and just
keeps the "real" static Scheduler functions in the original
Scheduler class.
Conflicts:
desktop/source/lib/init.cxx
include/vcl/scheduler.hxx
sfx2/source/control/itemdel.cxx
sfx2/source/dialog/dockwin.cxx
sfx2/source/dialog/filedlghelper.cxx
svx/source/sdr/event/eventhandler.cxx
svx/source/sidebar/PanelLayout.cxx
svx/source/sidebar/media/MediaPlaybackPanel.cxx
sw/source/uibase/docvw/srcedtw.cxx
toolkit/source/awt/vclxtoolkit.cxx
vcl/backendtest/VisualBackendTest.cxx
vcl/source/app/scheduler.cxx
vcl/source/window/window.cxx
Change-Id: I9eb02d46e2bcf1abb06af5bab1fa0ee734d1984c
commit 66ca57856f625ef6a89c0211a6378701e5c7cc4c
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Tue Sep 6 10:44:05 2016 +0200
Convert bTimer => bIdle
All other places already refer to being Idle, so change the
Scheduler::ProcessTaskScheduling argument to bIdle and adapt
all other scheduler-related functions.
Change-Id: If5a605abbc3e620092127b65ada29f11215a0343
commit 6893d02e7bb1be6af86a779aa401bf0946ea9512
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Tue Sep 6 08:27:08 2016 +0000
Always schedule with the same time
No need to always update the time - scheduling should be fast!
Change-Id: Ic4c01f5a5759ef4970f1385aab6ef93cd67f33b6
commit b20f6c845b610e6b42f807fa08dafc0865a3fa57
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Wed Jul 20 10:54:30 2016 +0200
tdf#97087 GDB pretty print the Scheduler task list
In addition to the GDB pretty printer, this annotates a lot more
Timers and Idles.
Conflicts:
cui/source/tabpages/macroass.cxx
framework/source/uielement/menubarmanager.cxx
sfx2/source/control/itemdel.cxx
sfx2/source/dialog/dockwin.cxx
svtools/source/graphic/grfmgr.cxx
svx/source/sidebar/PanelLayout.cxx
Change-Id: I5b93fab02161b23bb753e65ef92643a04fb0789c
commit 2355a92ae4bd50a9c487b9248d4a9da889468491
Author: Thorsten Behrens <Thorsten.Behrens at CIB.de>
Date: Tue Jul 18 18:51:50 2017 +0200
tdf#109194 cleanse startup notification foo from env
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 at libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
(cherry picked from commit 8180b6801dca2052a9d40411f9bbdcc96198c52f)
commit 27c2b725296b2d0182dcd0e829cdd8e414953629
Author: Juergen Funk <juergen.funk_ml at cib.de>
Date: Fri May 13 10:42:17 2016 +0200
tdf#99815 use XNotifyingDispatch in sfx2
trac#18016
- move DispatchHelper somewhere public
- use it from generic dispatcher call sites in sfx2
- return result of dispatcher calls (conveyed via
XDispatchResultListener) to calling code, instead of faking it
Reviewed-on: https://gerrit.libreoffice.org/24953
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
(cherry picked from commit f9bb13419549d621ffd55d9d81e0732a89560e2e)
Change-Id: Ie8041133e99dd99e45819f98798829b96532b9e6
commit e4d535b6e05484795a7e16b761024cb8f76048d2
Author: Juergen Funk <juergen.funk_ml at cib.de>
Date: Fri Jul 15 11:56:02 2016 +0200
tdf#100929 - Windows Installer: "ADDLOCAL=ALL" doesn't set all features
trac#14203
The CustomAction "SelectLangauge" overrides the ADDLOCAL-switch.
When ADDLOCAL is set, skip the CustomAction "SelectLanguage"
Reviewed-on: https://gerrit.libreoffice.org/27230
Reviewed-by: Andras Timar <andras.timar at collabora.com>
Tested-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
(cherry picked from commit 0a76a41ae7a2ebd53f80f01ea9e2bcff3026d155)
Change-Id: I716349a0645e2f8dd193103b35028e493ca8e3a1
commit 9d9bdbbff74ea513dabc61d71f04c7bd5b776e35
Author: Juergen Funk <juergen.funk_ml at cib.de>
Date: Wed Jun 21 14:41:49 2017 +0200
Improve tdf#106942: always erase empty/corrupt lockfile
also when we could not create lockfile, not only when open as readonly
Change-Id: Ied53bbfe47669f62553d97d81f0bed156ae58887
Reviewed-on: https://gerrit.libreoffice.org/39054
Reviewed-by: Katarina Behrens <Katarina.Behrens at cib.de>
Tested-by: Katarina Behrens <Katarina.Behrens at cib.de>
(cherry picked from commit af9bea21390800e5bbc73e07ce9828189d8dabf3)
commit 8fe0733b45c161a36fc92da488f9bf72ebfd3bbb
Author: Thomas Beck <thomas.beck at cib.de>
Date: Fri May 19 13:44:58 2017 +0200
trac#21081 Aus aDIS generierte RTF-Dokumente werden falsch eingelesen
Backport des fixes aus dem community upstream.
Reviewed-on: https://gerrit.libreoffice.org/37814
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
(cherry picked from commit 8a71a2a843c31e5eeb5ae4b08ee861ba8f2c4516)
trac#21081 Beheben von fehlern die durch backport enstanden sind
Beheben von einigen buildfehlern und merge konflikten
Change-Id: I55025984e343d04da7fc0f201164ef39e3a26202
901861fab1a72bb2d222dc3b8292b89aa696256d
commit 937d25cbf7d69f6d8eaf29ed8bb3d5fa7daf72ee
Author: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Date: Tue Apr 25 22:25:18 2017 +0200
update credits
Change-Id: Id21b158bcdb4ff51950bcce0869e6c79a7e48fc4
(cherry picked from commit aa6a9bbd66beb234c54d8f881b56da6d8753c423)
commit 2b0fe1e36b60702492eb0714f1603b24d8ffb36e
Author: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Date: Tue Apr 25 19:45:59 2017 +0200
Updated core
Project: translations aa6efd59570a753d3571482443e6ee8811cbada8
update templates for 5.2.7 rc2
Change-Id: I0917d055be04033585368ac3a44e7dbce4c3a10c
commit c475be3a0986fc9dbac1b6d8d55d8fe39133c5bc
Author: Bartosz Kosiorek <gang65 at poczta.onet.pl>
Date: Fri Apr 14 00:04:57 2017 +0200
tdf#107159 EMF+ Add support for EmfPlusDrawArc record
EmfPlusDrawArc record specifies drawing the arc of an ellipse.
Change-Id: I87788a9b14f518a383cbc5b804af635427e4c395
Reviewed-on: https://gerrit.libreoffice.org/36537
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65 at poczta.onet.pl>
(cherry picked from commit 715df6e9f8926e511dbdee52367ec08676f71952)
Reviewed-on: https://gerrit.libreoffice.org/36587
Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
commit 90a5916bec22ca0e3e1ed77dd4cfba89e437cc0d
Author: Eike Rathke <erack at redhat.com>
Date: Thu Apr 20 13:52:18 2017 +0200
Resolves: tdf#99625 add parameter classification for TEXTJOIN and CONCAT
So in array context the functions return a single string instead of an array of
identical strings.
Change-Id: Ia6ada10be4912745b60e281fac1736c560162d3a
(cherry picked from commit f0fef88b747cc4f4de7a5ccb93da9c062545dcfb)
Reviewed-on: https://gerrit.libreoffice.org/36744
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
commit fbdcec569ac89ed303ad012eb5e5a10f6c6591b2
Author: Michael Stahl <mstahl at redhat.com>
Date: Thu Apr 20 22:19:45 2017 +0200
nss: upgrade to release 3.29.5
- fixes CVE-2017-5461 and CVE-2017-5462
- drop ubsan-alignment.patch.0, there is apparently now some
NO_SANITIZE_ALIGNMENT macro upstream to get this effect
- drop some hunks to prevent hard-coding CC/CCC vars, upstream now
respects environment vars (but doesn't quote them...)
- drop first hunk of ubsan.patch.0, fixed upstream
- drop hunk for gtest-internal.h, header looks much newer anyway
Reviewed-on: https://gerrit.libreoffice.org/36756
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Michael Stahl <mstahl at redhat.com>
(cherry picked from commit 0cdf41419af854acccee0f819d4add7e8cafb7dc)
Change-Id: I5c484c02c1235e185af1ef5166b069303d3378e1
Reviewed-on: https://gerrit.libreoffice.org/36797
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
commit bc9e018a4e49e4378b2af727a8fa372718bc80a9
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Apr 24 15:06:10 2017 +0100
ofz#1220 sanitize nTyp to legal values
Change-Id: Iad71c4f79dbe03e2e325453eb0506a2d92d67c2d
Reviewed-on: https://gerrit.libreoffice.org/36893
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Michael Stahl <mstahl at redhat.com>
commit cd8d9311e481f46a28e4468d1b3c80160be31edf
Author: Eike Rathke <erack at redhat.com>
Date: Thu Apr 20 22:06:23 2017 +0200
add ICU changeset-39671 fix for CVE-2017-7867 CVE-2017-7868
http://bugs.icu-project.org/trac/changeset/39671
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=213
https://bugzilla.redhat.com/show_bug.cgi?id=1444101
Reviewed-on: https://gerrit.libreoffice.org/36754
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Jenkins <ci at libreoffice.org>
(cherry picked from commit c7de8233d15ed0c90fef6c49a54d60cf10119f58)
Backported to older MSVC using the UGLY_SIZEOF_MAPTOUCHARS macro instead
of sizeof(UTF8Buf::mapToUChars).
Change-Id: I4e776ad4fe63c77057b0c823f8672a2b6703346f
Reviewed-on: https://gerrit.libreoffice.org/36776
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
commit cc68cdf48b4bae522b175aeffd1bee30057f59ae
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Apr 21 10:51:19 2017 +0100
ofz#1193 we only set these values, never read them
Change-Id: Ia2f54b536a4262e19abe260e8e19c9b15cc2d0ec
Reviewed-on: https://gerrit.libreoffice.org/36781
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
commit e58085a5d32928e1bdd169ddf0555b502319d523
Author: Michael Meeks <michael.meeks at collabora.com>
Date: Wed Apr 19 01:19:59 2017 +0100
vcl: protect Window from exceptions during construction.
Probable fix for:
http://crashreport.libreoffice.org/stats/crash_details/f69188bd-0fdd-4b74-9ec6-35b544cba0c9
Change-Id: I6442451785867f0fc2daf84776118b092d4d6a18
Reviewed-on: https://gerrit.libreoffice.org/36653
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
(cherry picked from commit 6827da5052bfe975a3b34af8dfa8af75d41e904c)
Reviewed-on: https://gerrit.libreoffice.org/36675
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
commit cd7ad993eacc7bb56924b9609d63f38d283d37cb
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Wed Apr 5 21:09:59 2017 -0400
tdf#92650: handle overwritten references correctly in undo.
(cherry picked from commit de39b6ba3a9edd20a476937ef0c78920df2f5c6d)
Conflicts:
sc/source/ui/docshell/docfunc.cxx
sc/source/ui/undo/undoblk.cxx
Change-Id: Idc3fbd78f8163c97a9cd80a3ff474b6da0349353
Reviewed-on: https://gerrit.libreoffice.org/36540
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Eike Rathke <erack at redhat.com>
commit 98ff7727d6867a41445c392b1edee3fcafc3e6ac
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Apr 18 09:15:23 2017 +0100
catch exception like text_wrapper_get_caret_offset does
Change-Id: I7d681a5cd58af60005eefa9969ec975d5cfc5580
(cherry picked from commit 0d2a607a849e3f1b51092c7d96bc5529420cfab2)
Reviewed-on: https://gerrit.libreoffice.org/36636
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Michael Stahl <mstahl at redhat.com>
commit 4d681f73528fed2d850367239b8125733af3863d
Author: Caolán McNamara <caolanm at redhat.com>
Date: Sun Apr 16 14:25:25 2017 +0100
coverity#1405158 Wrong sizeof argument
Change-Id: Ie6b7fc3d2b7d1ac709501698e55aabc72215b187
(cherry picked from commit b17177c63a4eac55dcdaa3006abec05ab71ca1b4)
Reviewed-on: https://gerrit.libreoffice.org/36579
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
commit 1d602eac3e90ddd11b83f907c0c3fdda487c2f7f
Author: Bartosz Kosiorek <gang65 at poczta.onet.pl>
Date: Fri Apr 7 19:50:26 2017 +0200
tdf#107019 EMF+ Add support for import EmfPlusRecordTypeDrawBeziers record
EmfPlusDrawBeziers record defines the pen strokes for drawing a Bezier spline.
Change-Id: I6ae08a861bcbadd373741781af0011528947243e
Reviewed-on: https://gerrit.libreoffice.org/36280
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65 at poczta.onet.pl>
(cherry picked from commit 9b693d896bf9a08cd8987e483f5269d6f2be1fd3)
Reviewed-on: https://gerrit.libreoffice.org/36533
commit e2e216ca8ed03b5da07a38d2c418b8f4edf913b2
Author: Bartosz Kosiorek <gang65 at poczta.onet.pl>
Date: Fri Apr 7 14:43:44 2017 +0200
tdf#107016 EMF+ Add support of import EmfPlusRecordTypeDrawRects record
EmfPlusDrawRectss record defines the pen strokes for drawing a series of rectangles.
Change-Id: Iaa061f8502fb51de44d2e65a1c92daf297b79d2b
Reviewed-on: https://gerrit.libreoffice.org/36261
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65 at poczta.onet.pl>
(cherry picked from commit a45feba83e5fb35eee1884887e8dbe795ebacde5)
Reviewed-on: https://gerrit.libreoffice.org/36529
commit c55f6f7f1e773c46d9dee3f257c14f7c36a6cb9a
Author: Bartosz Kosiorek <gang65 at poczta.onet.pl>
Date: Sat Apr 8 01:10:05 2017 +0200
tdf#107034 EMF+ Add support for import EmfPlusDrawPie record
The EmfPlusDrawPie record specifies drawing a section of the interior of an ellipse.
Change-Id: Icd9d64117cc612d348c531932931f31e4d04e567
Reviewed-on: https://gerrit.libreoffice.org/36286
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65 at poczta.onet.pl>
(cherry picked from commit 2e7c94f5054dec4ab19c44209136c886793f0acb)
Reviewed-on: https://gerrit.libreoffice.org/36531
commit 6d701e0aaad12deef4cb3590cb7346b63e71824d
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Apr 13 13:01:35 2017 +0100
ofz: header has to be at least 1 pair long
Change-Id: I5725048519a2b68265e90d12b1e4bcb506c56fc2
(cherry picked from commit e72f3ce68e18ac604469ce5e856341a469af27ff)
Reviewed-on: https://gerrit.libreoffice.org/36520
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
commit b2128b2bded3f90c800c66856d47f99727baea8d
Author: Bartosz Kosiorek <gang65 at poczta.onet.pl>
Date: Fri Apr 7 13:24:41 2017 +0200
Replace EmfPlusRecordType decimal value with hex
Change-Id: Ia5f248282e663e86b76a8c90fb5dd55d112f6912
Reviewed-on: https://gerrit.libreoffice.org/36260
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65 at poczta.onet.pl>
(cherry picked from commit 723ee43cf65f85d7b586ae8c98529a22621054a3)
Reviewed-on: https://gerrit.libreoffice.org/36523
commit 80b0bfcc57d5f5fa6fe1ce6c9da329c9a5788543
Author: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Date: Wed Apr 12 18:53:44 2017 +0200
bump product version to 5.2.8.0.0+
Change-Id: Ic981e67e4ba8ad1f3f9344c91d6a8338ceb68e3e
commit 8026600bd58920fc6bf1c2edf1f8a66f79a18e05
Author: Michael Stahl <mstahl at redhat.com>
Date: Wed Apr 5 16:54:57 2017 +0200
rhbz#1438179 sw: fix toolbar "Next Track Change" / "Previous..."
There's some confusing workarounds in SwView::Execute() that aren't
needed if the SwCursorShell just calls NormalizePam() so it always
makes progress.
(cherry picked from commit 25eb0899227830cca7f28006376962d84f8e9c7a)
Change-Id: I3b014079b19925041234fcd858526148890f560c
Reviewed-on: https://gerrit.libreoffice.org/36167
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
commit b521610aa26102156025f1034efb80778ceffdc5
Author: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Date: Wed Apr 12 17:29:58 2017 +0200
Updated core
Project: translations 7ca7a156211552ca17c6f37c48d3b140062df03d
update templates for 5.2.7 rc1
Change-Id: Ia2100bf7a747b1e5f19a786fcd76be94ae77a898
commit 30869d479ea5b5a737dcade87fdad4badd8a80c9
Author: Caolán McNamara <caolanm at redhat.com>
Date: Sat Apr 8 21:04:45 2017 +0100
ofz#1062 ensure cshape lifecycle matches expectations
Change-Id: I586e9b3546516a0f05d86b2f7dd93e7c292a6795
Reviewed-on: https://gerrit.libreoffice.org/36302
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Michael Stahl <mstahl at redhat.com>
commit cce29563ab5ab09f24955983a89c70b7deb30623
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
Date: Sat Mar 11 16:42:22 2017 +0100
tdf#106217: Wrong size and position of a shape inside chart
Same code which was added to the method
DrawingFragment::onEndElement() in
d178d7bef193565a7d6aacbc37a58dfc4bd7b316
A shape's size and position inside a chart object
are primarily defined by <cdr:from> and <cdr:to> tags in
drawing.xml, but in the same file we also have
an <a:xfrm> tag which is used for the same thing
(defining size and postion) in general. Testing with
MSO it seems it ignores what values are set to <a:xfrm> and
uses only the <cdr:from> and <cdr:to> values.
The test document showing this problem must be created
an earlier version of MSO, becuase <a:xfrm> is set to some
random values. Editing the chart and saving it with MSO
2013 the <a:xfrm> values are set consistently with
<cdr:from> and <cdr:to> pair.
Reviewed-on: https://gerrit.libreoffice.org/35069
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>
(cherry picked from commit aa204f1c09a760d6753c408376ab7307fb13ad91)
Change-Id: Icbaff78e5a6fcea36678c3b3755c97f57976b626
Reviewed-on: https://gerrit.libreoffice.org/35076
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
commit 64ae3d14c63ee54dee2c5dcac88f606eebf54165
Author: Tor Lillqvist <tml at collabora.com>
Date: Wed Feb 15 19:21:06 2017 +0200
tdf#106304: Fix newline and empty paragraph font size issues in .pptx export
Output <a:br> instead of
for hard newlines. This fixes the
problem that the line before the hard newline in the .pptx export is
not centred.
The fix for the sd_export_tests is a bit hacky, but then so is the
code in question.
Don't unnecessarily use bogus default char size for a:endParaRPr.
Instead use the size last used for an a:rPr below the same WriteText()
call. I am not exactly sure about how this hangs together, but this
has the desired effect on the exported .pptx.
Change-Id: Ie23e0c33e6efb303b183d3b2efce6866d0dda4e8
Reviewed-on: https://gerrit.libreoffice.org/34888
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
commit 408240412628b95f1f6865d4a91b2c935b9397f5
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Mar 3 11:25:32 2017 +0000
backport various fixes to aid future backporting
ofz#725 fix hwp leak
Change-Id: I09088981ca63b297781307590092725bc1cbed1b
(cherry picked from commit 681b6361f23a8f20511ad97989c642b07f25c495)
valgrind: uninitialized reads
Change-Id: Ia1e821d1e323d85c65484c980be09f015af6517b
(cherry picked from commit afabc7d2f2fcf8fcd39ff5002f09c32e8f03d4bb)
partial loplugin:useuniqueptr extend to catch more localvar cases
hwpfilter part of...
commit aa09b0c27a6d925da428d6267daadc7338829869
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date: Thu Apr 6 09:46:06 2017 +0200
loplugin:useuniqueptr extend to catch more localvar cases
i.e. where the code looks like
{
foo * p = new foo;
...
delete p;
return ...;
}
Change-Id: Iad770d1904b2373b1bf8ce609f4c95882388eff8
ofz: epic slow use of std::list
Change-Id: I790a3098272101fd33f83f21bdcef1bb061efd76
Reviewed-on: https://gerrit.libreoffice.org/34635
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
(cherry picked from commit 283e843be91ef4d727c0815d1b8a0420fd16a7fd)
use rtl::Reference in HwpReader
instead of storing both a raw pointer and an uno::Reference
(cherry picked from commit 0bab51d8ad35a31685002118cdac20657b57137a)
Change-Id: I02dd356d9693116f98ad2b96951570b3ba448b14
Reviewed-on: https://gerrit.libreoffice.org/36301
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
commit ef97f21d8bf8fbd0f3dfeddf37909bec15c05d30
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 5 14:24:09 2017 +0100
ofz: treat short properties as run end
Change-Id: I1250f74c9f4ed6679a89c7915fb704c8b8cd693f
(cherry picked from commit 5252673d686913210dd65608b7d24b0e9d51cf00)
Reviewed-on: https://gerrit.libreoffice.org/36148
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Michael Stahl <mstahl at redhat.com>
commit dac491d8ffb29ba356acd9693412a6b647f6f767
Author: Eike Rathke <erack at redhat.com>
Date: Mon Mar 6 22:26:32 2017 +0100
Resolves: tdf#102777 broadcast SC_TAB_INSERTED when inserting scenario
So ScViewData::maTabData gets an entry added which deleting the scenario
can remove again.
(cherry picked from commit 4c8059a3e140171399ac85ceb882d23bb458599d)
Change-Id: I166baeff5408ef67faef41364515a13b8d4610bb
Reviewed-on: https://gerrit.libreoffice.org/34943
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
commit 9e12bb1a9f4589b748904b23dde0eb534064c93d
Author: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
Date: Sun Jan 1 17:39:23 2017 -0600
Bump copyright year to 2017
Change-Id: I26ddcdd7bb9616c0599eec9101603d4be1ea4147
(cherry picked from commit e5da108ef01872f460c176b6a9173e346e1d59a4)
commit 187e4e310f7ab5e059fae29264cacd0795f66e76
Author: Eike Rathke <erack at redhat.com>
Date: Fri Apr 7 16:20:37 2017 +0200
out-of-bounds tab access when deleting second last sheet
Which in a debug build lead to STL assert
Error: attempt to subscript container with out-of-bounds index
Change-Id: I09fddbc9e4b214b0313c193f85830ed458d20c0e
(cherry picked from commit 0c55972d747511dbc711f3c9cbb4db5d8c5dc2ff)
Reviewed-on: https://gerrit.libreoffice.org/36273
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
Tested-by: Jenkins <ci at libreoffice.org>
commit dc18f45b1252f15be1e0224cc25f99352de83e3e
Author: David Tardon <dtardon at redhat.com>
Date: Mon Dec 19 13:19:42 2016 +0100
add missing dep on jpeg
Change-Id: I0732f23dd9daa0c3a1f138011b0db17b36b729d1
Reviewed-on: https://gerrit.libreoffice.org/32179
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
(cherry picked from commit 5bc94f60379029f343581bef8aea3e350c7db2e4)
Reviewed-on: https://gerrit.libreoffice.org/36370
Tested-by: Michael Stahl <mstahl at redhat.com>
commit 777a6512f101c0dc027b28d1d931535be4613f48
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Apr 7 16:55:37 2017 +0100
Resolves: tdf#102286 lets not crash on null pFrame
this is the FlyEmbeddedPrt case
ensure we don't end up with a null pFrame at return time
(cherry picked from commit 5ce387c4812466e6752b434cf0f5a54f98c6a147)
Change-Id: I68ff6f0a36462cffc47d774865e69041c4dd15a8
Reviewed-on: https://gerrit.libreoffice.org/36279
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Michael Stahl <mstahl at redhat.com>
commit 96b1251ff4867c23f9a761cc2d306d72720c68bf
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Apr 7 16:18:22 2017 +0100
Resolves: tdf#106732 the intent was surely to return a const ref
Change-Id: Iaaa1f76a689645adaebf4fe5b87003ad238f71f2
(cherry picked from commit a7d008a8dfdc0a8b42061329b5e756b1b034abaf)
Reviewed-on: https://gerrit.libreoffice.org/36278
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Michael Stahl <mstahl at redhat.com>
commit 7554fe23104a1b2f42a846116bbc6605a4fd6c47
Author: Eike Rathke <erack at redhat.com>
Date: Thu Apr 6 21:15:27 2017 +0200
Resolves: tdf#100011 (re-)add ocCeil and ocFloor .xls(x) export mappings
This is a combination of 2 commits.
Resolves: tdf#100011 (re-)add ocCeil and ocFloor .xls(x) export mappings
... for CEILING and FLOOR that were lost when introducing CEILING.MATH
and FLOOR.MATH which are semantically identical, but the export needs a
distinct known mapping otherwise the function is stored as a macro call,
which Excel dislikes.
(cherry picked from commit ea01a08763e56a7de66f0c24655a627669c8a7f7)
these FUNCFLAG_EXPORTONLY need also FUNCFLAG_MACROCALL_NEW, tdf#100011 related
Maybe one day we'll actually use these tables also for export
capabilities ...
(cherry picked from commit 4dd95cadcd330aee49b3c84d3e336b808217af46)
f3d55ec008e321d95b21e0d284c7d58d13a2399b
Change-Id: Id371c1732984a8e5567f74fd265b9aee88fb1898
Reviewed-on: https://gerrit.libreoffice.org/36234
Reviewed-by: Bartosz Kosiorek <gang65 at poczta.onet.pl>
Tested-by: Bartosz Kosiorek <gang65 at poczta.onet.pl>
commit 3cb23d414066ca0d9c70d8c9a1c2ed3ac51c8115
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Apr 6 15:12:10 2017 +0100
ofz: treat short properties as run end
Change-Id: I00a5bab63663e2dde43825707e84568fca6aa594
Reviewed-on: https://gerrit.libreoffice.org/36218
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
commit 4d7b348773ec02b82c7d754f2a6d5942fd2e7b8e
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Mon Mar 13 12:45:07 2017 +0100
tdf#106456, don't try to use invalid ranges in external ref code
Reviewed-on: https://gerrit.libreoffice.org/35132
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
(cherry picked from commit 951fcc6556346e19a028443c70dea27d0cbc9c36)
Backported.
Change-Id: I38e622df87dd4b5e37dd248c5181978e13890fda
Reviewed-on: https://gerrit.libreoffice.org/35188
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Jenkins <ci at libreoffice.org>
commit 64452f1b05347ee4dbd62ebe8700d9a69687f37e
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Wed Mar 22 21:21:31 2017 -0400
tdf#105908: restore previously deleted range references upon undo.
Reviewed-on: https://gerrit.libreoffice.org/35607
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Kohei Yoshida <libreoffice at kohei.us>
(cherry picked from commit 749405af4fc38e0c16dc7e860d23a13dfceb4e40)
Conflicts:
sc/source/core/tool/interpr6.cxx
Change-Id: If1932a5eb10da4c50fbcc3329af75f2e7a0a5137
Reviewed-on: https://gerrit.libreoffice.org/35673
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Eike Rathke <erack at redhat.com>
commit 839c8a606699be515162dda5a12a40c5eb47f71e
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Apr 4 19:13:12 2017 +0100
ofz: check olst sprm for valid ANLD payload len
Change-Id: Ic1b6681a3f48ef0fe3f52eda9db8b7bc003ded55
(cherry picked from commit 98151bf95bda8d647310bdba6936dc6b388b05de)
Reviewed-on: https://gerrit.libreoffice.org/36099
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Michael Stahl <mstahl at redhat.com>
commit 961859dfe28ea37d8c998070f00fb1bdafe5e342
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Apr 4 12:31:04 2017 +0100
ofz: guard against bogus sprm len
Change-Id: I9b4074e1024753549f468f427afbfdf9cd01b674
(cherry picked from commit d30fb62f4f1022ae6294e246974d0018596cf8ec)
ofz: guard harder against bogus sprm len
Change-Id: Ic82526e1454b24f094d3deee89647e88760bc44b
(cherry picked from commit 924624b40a97d6925f66374259c2c21707805fcd)
Reviewed-on: https://gerrit.libreoffice.org/36079
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
commit c5ea60861887be63a3b8da104ab0c2d7626287c4
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Apr 3 21:22:00 2017 +0100
ofz: check anldPap sprm for valid ANLD payload len
Change-Id: Ie034e3b37e01c29cf19fe8ad78b1121f6eadecb2
Reviewed-on: https://gerrit.libreoffice.org/36053
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
(cherry picked from commit 29cf858a971273039fff50808082f231dbd43c92)
Reviewed-on: https://gerrit.libreoffice.org/36076
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
commit d47b4c3ad5c02716526caa1782f85913849e2dab
Author: Caolán McNamara <caolanm at redhat.com>
Date: Sun Apr 2 11:31:10 2017 +0100
ofz: check bounds on read
Change-Id: I07779bec876b90e36f20a81d6dbf06ae727edf85
(cherry picked from commit fb05611064e12c8eda09bc32c42544cde8c2ab49)
Reviewed-on: https://gerrit.libreoffice.org/36019
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
commit 3cb3b670065ecca674e4ee315c0a28bfbeda11af
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Apr 3 20:36:06 2017 +0100
ofz: check anlv text bounds
Change-Id: I6288aae2d439cde6a2b95c005a2090f73e21bb7a
(cherry picked from commit 3feabd87ad8066b45b55d61cd72684e47fd79082)
Reviewed-on: https://gerrit.libreoffice.org/36052
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
commit ef5e53ffe181199a3a6a7d0ba2c7d3cb8b88e03d
Author: Szymon Kłos <eszkadev at gmail.com>
Date: Wed Mar 29 21:36:57 2017 +0200
tdf#98416 libcmis: Google Drive 2FA fix
Change-Id: Ice6758d8e9bc0ece57e038561376e7a6d67ab616
Reviewed-on: https://gerrit.libreoffice.org/35880
Reviewed-by: David Tardon <dtardon at redhat.com>
Tested-by: David Tardon <dtardon at redhat.com>
(cherry picked from commit 8d1a56c206e5c2ed6c331049198bb8ebc6176171)
Reviewed-on: https://gerrit.libreoffice.org/35929
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
commit 4be7c395b29f9aefd9ed642a2bf5268a8277d09b
Author: Michael Stahl <mstahl at redhat.com>
Date: Thu Mar 30 23:11:41 2017 +0200
writerfilter: DOCX import: fix handling of w:hideMark vs. w:vMerge
The problem is that Writer's layout can't handle the case where cells
are vertically merged and the last row has a fixed height; the vertically
merged cell will grow up to the height of the other cells in the non-
fixed rows plus the fixed row height, but no larger.
So for now, avoid setting fixed row heights in this case.
(regression from d1278ef4849661b9ae0eb7aaf4d74fbf91ccaf11)
Change-Id: Iac3689e0bb0d5b8a62115ca0fb1f2c553a6e6bbc
(cherry picked from commit c382c998ffdaf80c10a3f078fb4f0a37224d1158)
Reviewed-on: https://gerrit.libreoffice.org/35960
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
(cherry picked from commit 7d7d21cfa53c8e80fd4dd0938579d8377da5a840)
Reviewed-on: https://gerrit.libreoffice.org/35971
commit f7a135b2473e58a6980fd4fd874a478f00aad91d
Author: Patrick Jaap <patj at mail.de>
Date: Wed Mar 29 11:35:25 2017 +0200
tdf#101627 disable shrinking for footer textboxes
the shrinking patch a4dee94afed9ade6ac50237c8d99a6e49d3bebc1
causes problems, if the textboxes are anchored in the
footer. Therefore, disable it in this case.
For details, see comments in bug tracker.
Change-Id: I117a99041ff67c19a9de17803ff7864c62afdb50
Reviewed-on: https://gerrit.libreoffice.org/34517
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
(cherry picked from commit 80b9b6761e8cb974e0cdc0c7be0eb95f8745d86f)
Reviewed-on: https://gerrit.libreoffice.org/35845
Tested-by: Michael Stahl <mstahl at redhat.com>
commit 6dab83b83613de210175334f6fc68d1478acf7ad
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Mar 31 11:23:04 2017 +0100
ofz#974 check SetBorder bounds like the other maHorizontalBorders users
Change-Id: Iac113433ac2317ddfebc68ed793c481384d56551
Reviewed-on: https://gerrit.libreoffice.org/35966
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Michael Stahl <mstahl at redhat.com>
commit a38bb370b4046ca65bf77152e79a4abf4ee1cc23
Author: Michael Stahl <mstahl at redhat.com>
Date: Wed Mar 29 12:03:50 2017 +0200
cli_ure: fix another bad _WIN64 check (related tdf#94265)
Same problem as commit 2aa20cfb7a11dd8d86372af4065a5887a0b752ca
Change-Id: I02160c53870a021c742babf358e0d6172557ef21
(cherry picked from commit cfaba15c589f882cc0bcce5cd07bdf3d30f547f6)
Reviewed-on: https://gerrit.libreoffice.org/35839
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
commit a99ef8c9868c1f8958204824cab9c17264a1a966
Author: Julien Nabet <serval2412 at yahoo.fr>
Date: Thu Mar 30 07:19:21 2017 +0200
tdf#106857: use SfxInt32Item for ATTR_SNAPLINE
and avoid crash with this bt:
3 0x00007ffff7449ef2 in __GI___assert_fail (assertion=assertion at entry=0x7ffff1f0cdd0 "dynamic_cast<const CntUInt32Item*>(&rItem) != nullptr",
file=file at entry=0x7ffff1f0cce8 "/home/julien/lo/libreoffice/svl/source/items/cintitem.cxx", line=line at entry=232,
function=function at entry=0x7ffff1f0d0a0 <CntUInt32Item::operator==(SfxPoolItem const&) const::__PRETTY_FUNCTION__> "virtual bool CntUInt32Item::operator==(const SfxPoolItem&) const") at assert.c:101
4 0x00007ffff1dd7ceb in CntUInt32Item::operator== (this=0x7fffffff2380, rItem=...) at /home/julien/lo/libreoffice/svl/source/items/cintitem.cxx:232
5 0x00007ffff1e0136e in SfxItemSet::Put (this=0x7fffffff2490, rItem=..., nWhich=<optimized out>) at /home/julien/lo/libreoffice/svl/source/items/itemset.cxx:510
6 0x00007fffc68c7ba1 in SfxItemSet::Put (this=this at entry=0x7fffffff2490, rItem=...) at /home/julien/lo/libreoffice/include/svl/itemset.hxx:131
7 0x00007fffc68d9052 in SdSnapLineDlg::GetAttr (this=0x55555bd802c0, rOutAttrs=SfxItemSet of pool 0x55555779b070 with parent 0x0 and Which ranges: [(28282, 28284)] = {...})
at /home/julien/lo/libreoffice/sd/source/ui/dlg/dlgsnap.cxx:159
Change-Id: Iebaf8d773a532f64c224c0371382132aa4a8d2eb
Reviewed-on: https://gerrit.libreoffice.org/35885
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Julien Nabet <serval2412 at yahoo.fr>
(cherry picked from commit e1ff3782cc0bef951e7e5f0166c2b2395eaee26b)
Reviewed-on: https://gerrit.libreoffice.org/35896
Reviewed-by: Michael Stahl <mstahl at redhat.com>
commit 601d8ede80e663707564415c9937bb36739a4fe0
Author: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Date: Wed Mar 29 22:26:05 2017 +0200
update credits
Change-Id: I9175fb568d06688344e5a2ad8759f57563f9b229
(cherry picked from commit 261d9990228f4784f9a109e80657768b956e3d0d)
commit 0e0e607f46ebf35cede2df4554f1bcc279504d6f
Author: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Date: Wed Mar 29 19:25:04 2017 +0200
changelog creation: "command | > file" doesn't fly
Change-Id: If270d509fbbad6a390ab61345bd1b14ead6ccc21
(cherry picked from commit 9ec6519650280c8cda33ff921926d42840ef89c6)
commit 39ded6de301c0d1fde1f43f921f8088209547b28
Author: ComputingDwarf <Rechenelf at googlemail.com>
Date: Sun Mar 12 17:38:59 2017 +0100
tdf#94265: Correct the error
Always _WIN32 is defined, even in Win64. So the check must be to _WIN64 and then to _WIN32.
Hope no more lines like this in code.
Can you test programs with SDK 64 Bit?
(cherry picked from commit 3b2863596f26a8d32a5bc322bbbf51cad403c9fb)
Change-Id: Ibc6d486fba2077e924efe584d74659f4fe5ab525
Reviewed-on: https://gerrit.libreoffice.org/35838
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
commit b64f603a9f90c490175be8b281fd10ee1c475617
Author: Michael Meeks <michael.meeks at collabora.com>
Date: Tue Mar 28 10:35:50 2017 +0100
Attempted fix for mirrored geometry crasher.
Only plausible cause is pWindow->GetParent() being null, while
we have a pParent which has to be valid.
http://crashreport.libreoffice.org/stats/crash_details/6161398d-17b6-4a93-aa70-a559efa07868
Code was initially introduced in this form:
commit 4716735ba7d0ad133ff018481f94d6b4f201bbd9
Author: Stephan Schäfer <ssa at openoffice.org>
Date: Thu Sep 19 15:46:19 2002 +0000
#103362# improve positioning and resizing of system windows
No public report, sadly. And modified by
commit fba46c6efd08d50fee92cc11546f3ed253a57af8
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date: Mon Feb 3 16:46:04 2014 +1100
fdo#74424 Use Window::GetOutDev() to access ImplReMirrored()
Part of the decoupling of Window from OutputDevice. We now get
he Window's OutputDevice instance and manipulate this. Do not rely
on the inherited function.
where the GetParent()/pWindow->GetParent() problem surfaces
Change-Id: Ia261028a4719525135e3fe4b00074427c1d9df6c
Reviewed-on: https://gerrit.libreoffice.org/35796
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
Tested-by: Michael Meeks <michael.meeks at collabora.com>
(cherry picked from commit d93b8268da982ad26db9e03156ce9b89f3410486)
Reviewed-on: https://gerrit.libreoffice.org/35828
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
commit e2aee57fe292a9b90acc70d2df8e1daabc23c95b
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Mar 28 14:45:00 2017 +0100
valgrind: use of uninitialized values
Change-Id: I5b8c6d4d4576fd88dbffdfc710cbd9b2e9429942
(cherry picked from commit b7152aff51665bc802af66e6e599a89e0344c92f)
Reviewed-on: https://gerrit.libreoffice.org/35808
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
commit c00db1075c0d7b7d23a43e1466aeb29d4c797de2
Author: Juergen Funk <juergen.funk_ml at cib.de>
Date: Wed Apr 12 11:26:10 2017 +0200
tdf#106942 Wrong message when lock file is empty or corrupt
trac#19027
1. Erase empty or corrupt lockfile, when reading it fails and
skip "Locked Document Dialog" in that case
2. Show Dialog (use LockFileIgnoreRequest -> LockFailedQueryBox)
when create lock file is not possible.
Two Dialogs: "lock file create error" and
"empty lockfile is present"
Set the document to read-only when creating lockfile is not
possible. If lockfile is corrupt or empty, inform the user.
They can interrupt loading the document or open it read-only,
which also erases the corrupt lock file after closing
the document
3. Handling for the two Dialogs
Use LockFileIgnoreRequst for create lockfile error and
add a new LockFileCorruptRequest, (lock file is corrupt).
Change and generate new messages for both dialogs in english
Reviewed-on: https://gerrit.libreoffice.org/36658
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Katarina Behrens <Katarina.Behrens at cib.de>
(cherry picked from commit 6ca3b3648e25ae9d4d2d29a0df83349198ec3f5e)
Conflicts:
include/sfx2/docfile.hxx
sfx2/source/doc/docfile.cxx
uui/source/ids.hrc
Change-Id: I35c377f85b5113e8ffb89d83b9544b8ebc81d89f
commit 070b6d5f5b778b4c8e8436da025f1351c44e55d7
Author: Bernhard Widl <bernhard.widl at cib.de>
Date: Fri May 12 13:55:50 2017 +0200
tdf#107795 fixed cursor position after inserting input field
trac#19716
Reviewed-on: https://gerrit.libreoffice.org/37536
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
(cherry picked from commit 408a7e320db978a8f784fa25e35caedf931612c5)
Change-Id: I3c063c0393b524132e522914a7a9885c8a9c3b78
commit 215bf8c6a599c159d16989f35fd2ec55984b051d
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date: Wed May 10 15:30:39 2017 +0200
Get string also for external reference to double for operands of '&'
In a formula like ='ExtRef1' & 'ExtRef2', or ='LocalValue' & 'ExtRef1'
empty string became an operand in concat operation if the referenced
external cell was a non-string one.
trac#17184
Reviewed-on: https://gerrit.libreoffice.org/37469
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Eike Rathke <erack at redhat.com>
(cherry picked from commit 2dd2f3328acd564e5f77efa4fe91d67ac0984e63)
Change-Id: I7b0ac5de68349eae85afe48f377e30cab76e3fbf
commit 7767008b5223281af2286457e250353863f6ff75
Author: Mike Kaganski <mike.kaganski at collabora.com>
Date: Sun Dec 11 00:33:07 2016 +0300
tdf#63593: revert 88f91adf266f19659014df22e09ce6c6761fb6f1
This patch caused a regression that on creation of a new sheet
while there's an unfinished edit of a cell, by using "+" in bottom
left corner, that edit is committed to newly created sheet instead
of that in which it was performed.
Also, fixing original problem (tdf#42432), it forced the pending
edit on deleted page to go to an existing page, which could
overwrite existing data without being noticed (dataloss).
Reverting the patch does not reintroduce the original problem that
it intended to fix (a crash) in master.
Change-Id: I696a85ec9d08ebb3621ebdbce4d9f71eadcdb2c2
Reviewed-on: https://gerrit.libreoffice.org/31843
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
(cherry picked from commit 53dbc419b2e886b345a3512cf11e035ff2b7651b)
(cherry picked from commit de783e6c3eeb89c1c5e08044e0a0aae046165999)
commit f4fad8b154f964c28de787a71705189c7a67430b
Author: Juergen Funk <juergen.funk_ml at cib.de>
Date: Thu Dec 8 12:25:50 2016 +0100
Stop question in context of session manager when cancel a frame
When shutdown or logout, LO make the question for all open
windows, but when you cancel a window the question for the other
windows are not necessary, this patch breaks the other questions.
in dependency of tdf#104101
trac#19800
Reviewed-on: https://gerrit.libreoffice.org/33311
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
(cherry picked from commit d8ccf8cf7a604cb1df04f23b5b5036fff1d4afdb)
Conflicts:
framework/inc/services/desktop.hxx
Change-Id: I7119317d392ccd808c67fb57f82b1e990062abf2
commit f8a0e1d0431d6a60bd519ea989c16b9084158344
Author: Juergen Funk <juergen.funk_ml at cib.de>
Date: Thu Dec 8 15:41:24 2016 +0100
tdf#104101 Improve the session management handling
- Set the current time to the SessionID
- Split the SetProperties-Data, and send
DeleteProperties for DiscardCommand
(above both topic is the same as kate and
plasma-desktop to do)
- in statusChange the saveDone was not called, and
call only once the saveDone
- in shutdownCanceled must be send the saveDone too
trac#198000
Reviewed-on: https://gerrit.libreoffice.org/33215
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
(cherry picked from commit f57424cc4c0dd68083c7935ce8a9b795625cf84c)
Change-Id: I42855c75b88b5d651ef8091947e359dc2c3f9209
commit 78a84d6ac43ed4dceecade9361c9b708bd59076b
Author: Juergen Funk <juergen.funk_ml at cib.de>
Date: Thu Dec 8 15:37:10 2016 +0100
Expand and improve the output log in Session-Management
in dependency of tdf#104101
trac#19800
Reviewed-on: https://gerrit.libreoffice.org/33034
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
(cherry picked from commit fe9c6fa5a43177f4d77766f29d44784e17f53320)
Conflicts:
include/sal/log-areas.dox
vcl/source/app/session.cxx
Change-Id: I799f81adf4e4751fb505c84aa075363acf70f5a7
More information about the Libreoffice-commits
mailing list