[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