[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