[Libreoffice-commits] core.git: Changes to 'private/jmux/fast-mm-5-0'

Jan-Marek Glogowski glogow at fbihome.de
Thu Aug 11 10:46:24 UTC 2016


New branch 'private/jmux/fast-mm-5-0' available with the following commits:
commit 03931be20db6291e16db5c9ad4ac13a81c0eca57
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Aug 10 12:42:29 2016 +0200

    MM block idle-handling of generated documents
    
    We don't need any background idle jobs for the generated documents,
    like spell checking, statistics etc.
    
    This can be done when (or even if) the document is presented to the
    user as a background task.
    
    Change-Id: I4c72ed6e0d2f90d43e7f04cd0ea4418cbffe1206

commit a96530a5e265685ccb81a4bbe960a39c4419ff70
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Aug 10 11:37:15 2016 +0200

    Add SAL_INFOs to dump the SwPageFrm lifecycle
    
    Debug area name is "sw.pagefrm".
    
    Change-Id: I136cc8192137a8c682900a6ce2c557f6b6b3a6cd

commit 8ff4ae2d73b4684cd3e8b2a4691df245c2c434c0
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Aug 10 11:29:16 2016 +0200

    Don't oscillate empty pages in CheckPageDescs
    
    For the first case of dropping "wrong" empty pages,look ahead and
    pre-validate the next page, if it needs this empty page, to
    prevent case three for the next page.
    
    This prevents destruction and re-insert of the empty page.
    
    Change-Id: I475aa98a2693f814afcc41bd4bc73f04e742c105

commit 61987a93dd9dc31925aac40a2b5e39c3e3d49b25
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Aug 10 11:23:23 2016 +0200

    Flush the page break for correct layouting
    
    This is a workaround to create correct SwPageFrm objects for
    layouting, so the page break is actually visible when
    copying nodes, so we create the correct SwPageFrm.
    
    This is especially problematic for mail merge after the fix in
    commit 60d34e1c840d2c317bb7d0a5b14f4602c22b3fcc, which -
    correctly - checks all later SwPageDesc for every fix done by
    CheckPageDescs().
    
    Change-Id: Ie6ea2e9a0587199be4dbaf3ed63a94c29b318ce2

commit 58da9634c37e74da43bd3c74e6e7fa208b711185
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Aug 10 11:06:33 2016 +0200

    Use InsertPage in AssertFlyPages
    
    AssertFlyPages used it's own code to insert pages. It had two
    flaws:
    
      1. It used the SwPageDesc of the previous page, unaware of
         changed page description of a new page, which would later
         be fixed by CheckPageDescs, eventually requiring re-layout.
    
      2. The Code has an of-by-one error when setting the initial
         bOdd, which would also insert wrong / inverse left and
         right pages.
    
    So this changes AssertFlyPages to use InsertPage, which has a
    little more overhead for inserts, but prevents later expensive
    corrections, especially when CheckPageDescs() inserts or removes
    "early" pages, which need to evaluate and move all page bound
    flys.
    
    Change-Id: I8806cebb26db60602d8438f117e0416e07228b3b

commit dc6f1ce72da534f978f86318b1e0bee9cebed1f5
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Aug 10 10:15:33 2016 +0200

    Refactor duplicated code in SwFrm::InsertPage
    
    Change-Id: Iff9a78cf2f5e6ded4d1b03a8303529aa324ddad9

commit b958478a8eff603a09c652e29fc9d1b7cebb35f4
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Aug 10 10:05:08 2016 +0200

    Fix some variable scopes and clarify names
    
    Helps understanding the code, especially CheckPageDescs().
    
    Change-Id: I53e7d0ea65d6c6ae3da98acba4d366a47d2c4210

commit e1aeaaf9bd18d10a2f9dabaed48de10b5bfc1cc7
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Aug 10 09:47:40 2016 +0200

    Don't re-check valid SwPageDescs when layouting
    
    nCheckPageNum is set to USHRT_MAX, if all SwPageDesc were checked.
    Code manipulating SwPageFrm objects checks the pages via
    CheckPageDescs(). If this is currently forbidden, CheckPageDescs()
    sets nCheckPageNum to the first page to check.
    
    I guess the !pPage check is there to check the pages - at the end,
    if someone has missed the CheckPageDescs call. And we have to run
    the check, if the current page is unchecked AKA
      pPage->GetPhyPageNum() >= nCheckPageNum
    to do correct layouting.
    
    Change-Id: Ib67878115cde04b7161c919a67131a1e1dc67d8d

commit 2fc2a0394408952722e356225c063afb57d1c7ad
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Aug 10 12:33:21 2016 +0200

    Add SAL_INFOs to dump the Scheduler handling
    
    Debug area name is "vcl.scheduler".
    
    Change-Id: Ia1eab69e76671bd33ce3324c5eb058e4e00dfdd2

commit 8fdc599d58e6ad1fa20d7a75a7361cd466ee47b7
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)?
    
    And this includes the defintion to skip idles with
    priority >= DEFAULT_IDLE in busy times. This should proably be
    expanded to also include timers, as priority is already handled
    independent from the task type.
    
    If we really need a more fine-grained classification, we can add it
    later, or also switch to a real int. As a result, this drops many
    classifications from the code and drastically changes behaviour,
    AKA a mail merge from KDE is now as fast as Gtk+ again.
    
    Change-Id: I498a73fd02d5fb6f5d7e9f742f3bce972de9b1f9

commit 9945f5bec6300099b7276de40ec79af1d0953f36
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Mon Aug 1 10:51:09 2016 +0200

    Get rid of special yield handling for Impress
    
    Change-Id: I3997e2d3f8149272066113d8dddfab3aec3d3995

commit 546e449f71f4f876daad08e9d546cc6acee0884f
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sun Jul 31 17:31:07 2016 +0200

    Just schedule tasks, if timeout has ellapsed
    
    As the native main loop wakes up on new events and not just by
    timer timeouts, make sure there is really an ellapsed event.
    
    Probably we should just schedule events via the system timeout.
    At least this will prevent expensive re-scheduling.
    
    Change-Id: I248c9b8acb7df026295d10f256871b9fc8d39c07

commit 2021c23177aadc3ded5e3020054baae2292ea782
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.
    
    As a workaround, this checks for the idle status of the view and
    won't run on busy documents.
    
    Change-Id: I185137ed3423ecaae0f7edb39018d26c4244d359

commit e3b3df46e2784c6215f0af41212780cc46c6739d
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sun Jul 31 17:06:35 2016 +0200

    Don't reschedule SFX bindings on timeout change
    
    Drops stopping the tasks before changing the timeout, otherwise the
    task is recreated and put to the front of the scheduling queue as a
    new task.
    
    This also allows us to drop the special SFX append-to-task-list
    handling.
    
    For readability the patch also renames the job timer, and converts
    the dispatch timer to an idle.
    
    Change-Id: Ida0c412e71babb431bdfb360abfa9ad1109d4fd7

commit c97bba757ec7ad3714313522fa71fae63c1778e1
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sun Jul 31 15:38:08 2016 +0200

    Document and reorder some classes / stucts
    
    This changes the Scheduler class and ImplSVData struct.
    It just adds some doxygen comments and reorganizes the function.
    
    Change-Id: If1a15231575147bb0fc7c2ae7c1b733dc5b6166d

commit d822d667ff659644a4dabafe6e9e7c902f057157
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sun Jul 31 14:22:53 2016 +0200

    Move periodic task functionality into its own class
    
    Change-Id: Ib85e2217342d932a46f583c47eaf7a096faa28a6

commit e3c34e65a662e1fe10a8fddade5bf08e17527917
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sun Jul 31 14:20:00 2016 +0200

    Move scheduler callback handling into extra class
    
    Change-Id: Ie9a6048015a32c7d053b39388620eb7c4ca7d8c1

commit 1ef69ac212153c526e29c1d7f2d3b1a92113dd8a
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sat Jul 30 20:56:01 2016 +0200

    Reuse scheduled task data
    
    Since scheduling is now done via existing ImplSchedulerData
    objects, keep used objects around to save new and delete calls.
    
    Change-Id: Id983f114438d2d8d05de698c7d068af360222d35

commit 33e7ac2252f740bc6b8a296cdc40457b9bb5c94a
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sat Jul 30 20:46:20 2016 +0200

    Walk the task list once and round-robin equal tasks
    
    This merges ImplSchedulerData::GetMostImportantTask into
    Scheduler::ProcessTaskScheduling and adds some simple round-robin
    to the task processing, so equal priority auto tasks
    wont always be scheduled.
    
    Change-Id: I1a8b9d89b2dac14f1ab6c775bc66909ad197829a

commit 1ac069b7375db94e2b6b77aab30ff4b0f246238a
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sat Jul 30 20:21:29 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: Ic4115ec2d6244ff0fda951703c8fe0e427008e8b

commit 65b2ada45b15d4b46c3ef6bbe46695ef238638d6
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sat Jul 30 19:59:58 2016 +0200

    Always schedule with the same time
    
    No need to always update the time - scheduling should be fast!
    
    Change-Id: Idfcb6f361352a9399ee07261e9d32a7074ebbdd3

commit 9c2fac25994acdc90001d4d8bf7dbb43151b1f86
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sat Jul 30 19:30:54 2016 +0200

    Get rid of mnUpdateStack
    
    Not sure what purpose it should have, as we don't have nested
    dependent tasks and we already prevent recursive scheduling via
    ImplSchedulerData::mbInScheduler.
    
    Change-Id: If203606374fff5ca953df4fb6f746830a356fb6a

commit 16e4835f47bff0e8f5143a4c255ee816a7e0e1a0
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sat Jul 30 19:18:00 2016 +0200

    Use mpSchedulerData for delete and active handling
    
    We define an active task to have a Scheduler::mpSchedulerData
    pointer. And if the ImplSchedulerData::mpScheduler pointer is
    empty, we can delete the task when scheduling.
    
    This simplifies the scheduling handling.
    
    Change-Id: I7aaddea7f5171b66b7fa309363fc546f97dcb981

commit 677650f2ad299d0f2e190c8d2925a728ccc5187b
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Jul 20 10:54:30 2016 +0200

    GDB pretty print the Scheduler single-linked list
    
    In addition to the GDB pretty printer, this annotates a lot more
    Timers and Idles.
    
    Change-Id: I5b93fab02161b23bb753e65ef92643a04fb0789c

commit 5098effb56e2ed263f06b5df0d7b957b7a979cf2
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Mon Jul 18 14:07:32 2016 +0200

    No more progress bar flickering in KDE4
    
    This will always redraw the progress bar over the last one. This
    stops the flickering in KDE4 from re-painting the background, but
    obvously will break any transparent or alaising effects, if one
    is used.
    
    Change-Id: I6ba66adb8afacfde0170cc4f3412a64b6a23d89e

commit 122cc6e33c0dfb95ee85bf2490f6c0c944cf7b4a
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Mon Jul 18 13:21:14 2016 +0200

    Don't Update() and Flush() status bar draws
    
    From reading the code of vcl::Window::Update, this already calls
    Invalidate and Flush in case of top-level widgets and also handles
    child windows.
    
    And there is no need to invalidate the progress bar text, if we
    just update the progress value.
    
    Change-Id: Ie296c6ffe5db5a927ad69104ce8ffe3d0d29034a

commit 7e6865812a6d816c51c97aac597cb5a2e7d5979a
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Fri Nov 15 14:51:09 2013 +0100

    KDE4: simplify yielding
    
    QAbstractEventDispatcher::processEvents always processes all
    pending events, so we can ignore the the second Yield parameter
    (bHandleAllCurrentEvents).
    
    Change-Id: I49a70ed13d0215b89f48eed93d78eef2f083dc0d

commit ffd1ab3441fa7d4441ab07314a84005a59f3bd2c
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Fri Jul 22 18:02:25 2016 +0200

    Fix "unused" compiler warning
    
    Change-Id: Iccc78fecb408fc7851856a549026bae214617e1a

commit c412e56619e7af84bb33ccc912825679608de3f5
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Fri Jul 22 18:00:59 2016 +0200

    Remove now unused SwTextBoxHelper functions
    
    Change-Id: I39500424c79040b1887ea74081fdf0ea0bc5f009

commit e3d9ccf8627f841cb427c5cb4984081d5e0bd278
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Fri Jul 22 17:59:28 2016 +0200

    Add convenience function getOtherTextBoxFormat
    
    Since we already have isTextBox to identify a text box, this
    just adds a call to SwFrameFormat::GetOtherTextBoxFormat() to
    actually return the corresponding SwFrameFormat.
    
    This basically gets rid off all the remaining occurences of the
    SwFrameFomat / Textbox sets and maps.
    
    Change-Id: Id5f05a1ff71e604658e7d8a0d0825f5671335b3f

commit a09d756e427aec30c301031e160120d5f98551f2
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Fri Jul 22 17:50:52 2016 +0200

    Switch isTextBox to use the format pointers
    
    This replaces all possible occurences of the text box format
    maps, which just want to know, if a SwFrameFormat is part of a
    text box to use the direct lookup via the isTextBox, which is
    now a cheap call.
    
    Change-Id: I3b4e2301f816aead1b719cd70a8ef118e685ccfc

commit 3f96645c089fed37277b9a667afa33a388adae8c
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Fri Jul 22 17:23:40 2016 +0200

    Link DRAW and FLY format for faster textbox lookup
    
    Currently we have to rebuild the list of text boxes for every
    lookup. Instead of a managed set, or a per-document list etc.,
    this introduces direct pointers between the corresponding
    SwDrawFramFormat and SwFlyFrameFormat of a text box.
    
    Change-Id: Iefba2d153d9d8b3f1185aa305e9f463a50e78f89

commit e8feb2c87e42f80988587e264032adb4c13834c3
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Mon Jul 11 16:38:59 2016 +0200

    Add comments and extend the item pool unit test
    
    Change-Id: I5dc3db6bb3338721cc21abda71a2a5ec20720a24

commit e0cff816ef0fa0f7b273f7004e9ef2c69abd0463
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sat Jan 9 00:35:45 2016 +0100

    Add optional debugrun soffice.bin arguments...
    
    using the gb_DBGARGS variable.
    
    This value is appended to the gdb "set args" command.
    
    Reviewed-on: https://gerrit.libreoffice.org/21364
    Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
    Tested-by: Jan-Marek Glogowski <glogow at fbihome.de>
    (cherry picked from commit ff37ea6f96ead38e49ebe4c8356515e4061810c8)
    
    Conflicts:
    
    	solenv/gbuild/gbuild.help.txt
    
    Change-Id: Ic15754d7edcc448f283522338900684a29a03cf3

commit a58b2b61ec22aa3e270fb18939a08f33c8a361a4
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sat Jun 20 20:23:44 2015 +0000

    Don't inheritate from boost::multi_index
    
    Drops all using statements and the namespace aliases.
    This is more in the spirit of tdf#75757.
    
    Change-Id: Id7c81baea0e2d1af151b7b9bdce8d9fe5f7a2089

commit 38f4cbba4e3de710a12df22c072a035771723669
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Fri Apr 10 21:32:36 2015 +0200

    Convert SwFrameFormats to boost::multi_index
    
    This is almost the same situation as SwPageDescs. What makes this
    more complicated is the fact, that actually duplicated draw objects
    are allowed, in regard to the key values "type" and "name".
    
    And actually for some types, duplicate names are not allowed, e.g.
    SwDoc::FindFlyByName( const OUString& rName, sal_Int8 nNdTyp )
    expects a single result!
    
    Change-Id: I6e0ea1099c1c1e6cfe90926170e27179722e88b8

commit afae506bfd05c4d6d1cbccf7d3c9c2b32e046b8d
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sun Mar 29 03:04:37 2015 +0200

    Convert SwPageDescs to boost::multi_index
    
    Page descriptions are exported via XIndexAccess, so they need a
    stable array, currently a vector. On the other hand they are
    referred by a unique name, so the lookup in the unsorted array is
    O(n), not taking into account the amount of string comparisons.
    
    The multi index container adds an ordered unique index, which
    gets the lookup time down to O(log(n)) at the cost of a bit more
    management overhead for most operations, which is largely
    outweighted by the amount of lookup calls. These anyway have to be
    done on insert to guarantee the unique naming.
    
    Change-Id: I3fb892ff524f6a9804d9572c1825074c0810649e

commit bf59f8c12f5bb4db4b1c41125f48f2dd38c53cee
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Sun Mar 29 03:02:22 2015 +0200

    More Boost Multi-Index shadow / unused warnings
    
    Update the patch for additional warnings already fixed upstream.
    
    Change-Id: I2c189f7b05ea60fa5e0d2faee08cf298cbcdba9d

commit 7ff8806b81f0ee9d19adc393bc4fc375be24e83b
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Wed Jul 20 10:45:52 2016 +0200

    Update Python six to version 1.10.0
    
    Change-Id: If3d6c7c18ffc19da2a4ccc118aa2a2e658f4a719



More information about the Libreoffice-commits mailing list