Age | Commit message (Collapse) | Author |
|
Our main problem is how to compute the correct output area for the
requested tile zoom level. The old solution was using a fine-tuned
edit rectangle as output area. An edit rectangle is the rectangle
computed according to the range of rows and columns involved in the
text editing. Unfortunately in some cases the edit rectangle can be
enough larger than the output area. For instance that occurs with
centered text.
The new proposed solution is able to scale the output area to the
requested tile zoom level by a few pixels (0 up to 3) offset/size
error. The hope is to reduce the error in some follow-up patch.
The new solution is also able to perform painting of text edited by
different views in the correct order. The last painted text is the one
belonging to the last view where editing occurred.
SfxViewShell::maEditViewHistory keeps track of the last 10 editing
events per document.
Change-Id: I8f1035a730cb2b94b0990f3c8eb6445511b94223
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162196
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162986
Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com>
|
|
The A2 cell in the bugdoc has 01 in it, which was auto-converted to 1
(float) value on import, even if it was text originally.
This is hard to solve for HTML in general, which is not typed, but this
input is coming from google sheets, which has an additional
data-sheets-value attribute on <td> that does tell us about the type of
the cell.
Fix the problem by handling that attribute, and in case it explicitly
says it's text, then apply the matching number format.
Other types are not yet handled.
(cherry picked from commit e6e5660b726ecf3b0c39b277568568973b43c9f0)
Change-Id: I2986ef864e97d9c46d191aba25ca5740a1151a71
|
|
Add .uno:NumberFormatCurrency item to .ui
Use weld:: way of widgets creation so we can inject
jsdialog code and popup will be correctly registered.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ib57e1cad617ca5c7198d67e107441ba062580f06
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161829
(cherry picked from commit 91df0cafa87692b5c924c44b9c7adf4a8d6f3e34)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162623
|
|
After commit 0460be8848b0ce02c07183e41dd7137ac3b94164
Send document colors with lok callback
There was issue detected by CI:
/sc/source/core/data/document10.cxx:198:46: runtime error: downcast of address 0x6100000efa40 which does not point to an object of type 'const SvxColorItem'
0x6100000efa40: note: object is of type 'SvxBrushItem'
00 00 00 00 b0 79 19 48 ce 7f 00 00 01 00 00 00 94 00 be be 4c 17 00 00 a0 be be be cc cc ff 00
^~~~~~~~~~~~~~~~~~~~~~~
vptr for 'SvxBrushItem'
#0 0x7fce1fbed369 in ScDocument::GetDocColors() /sc/source/core/data/document10.cxx:198:46
Change-Id: I41f28b6bb54d7720d58c16d75b9d116a53f106cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162076
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
in multiple views, while the invalidations rectangles should be reported
at the same place from each view.
on load, ScTabView::SetZoom gets called with the zoom stored in the
document settings, which both calls sets Zoom on the ViewData, and then
calls ZoomChanged, which syncs the GridWindows MapMode from the ViewData
derived GetDrawMapMode().
Later lok sets zoom via setClientArea which leaves the GridWindows
MapMode untouched and out of sync with the newly changed ViewData
MapMode.
Typically then, on e.g. on deleting text in one view then
ScViewFunc::DeleteContents or similar is called which calls
ScTabView::UpdateCopySourceOverlay which calls
ScGridWindow::UpdateCopySourceOverlay and that sets the GridWindow
MapMode to the DrawMapMode but then *for lokit* returns early (among a
few other unlikely early return cases) while every other similar func
restores the orig GridWindow mode before returning. So the view which
is used to make the change ends up with GridWindows synced to the
ViewData MapMode, which looks like accident. While the other view
remains with GridWindows with MapModes unsynced with that views
ViewData MapMode.
So on invalidate, the view that was used to make the change has
GridWindows with MapModes that report the correct rectangle, while the
other unsynced view will report an incorrect rectangle, until something
happens in that view to get it to exec UpdateCopySourceOverlay and get
synced.
Here add the sync to ScModelObj::setClientZoom so the two MapModes
remain synced once that is called.
Change-Id: I2da59f50ae2b0e3ea6b7ef8b54debdab1ee98266
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162312
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162322
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit 7edfb1b85cef5e5435cd2bf46e1b91b68f1e6427)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162482
|
|
https://github.com/CollaboraOnline/online/issues/7769
Reduce unnecessary invalidations. Don't invalidate windows
if layer visibility didn't really change.
Change-Id: Ic2abd78d60aea2e8676c8e56608cf51e941f5918
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162481
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: Id94856661d62e718f8368477f6464152f75fde27
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161282
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162238
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
seen with Red Hat Developer Toolset 10
https: //github.com/CollaboraOnline/online/issues/6893#issuecomment-1866342284
Change-Id: I4a0e8ad028126dded678e971a6261d6725a6b06c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161129
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Charts now get a temporary colored applied to the area property set if
their color was set to automatic, which is done by default in tiled
rendering mode.
Change-Id: Ic6bd19b97d2a0ffa2a1ad516cfa202e2f4921db7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160659
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
This patch fixes the following invalidation issue:
There are 2 views with different zoom levels.
In a view text editing for a cell occurs.
The other view is not invalidated properly: the computed invalidation
rectangle is misplaced.
Change-Id: I72db61486647640ee68e6cb2db96b2902de5b997
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160303
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162161
Tested-by: Jenkins
|
|
Call vcl::Window::RequestHelp from LOKPostAsyncEvent for
mouse movement. Introduce LOK_CALLBACK_TOOLTIP callback
type, and send it from SwEditWin::RequestHelp.
Intention is, that the tooltip is shown by client at the
current mouse pointer position, which is hopefully not
far away from the point that generated the mouse event.
On the next movement, the client starts a timer to hide
the tooltip. If the next tooltip message arrives, the
tooltip would be updated in the new place.
Alternatively, the payload could contain the coordinates
from the HelpEvent.
Change-Id: I8e96eb6e6983ad8d13b4c5d7be4d51ff3fd11893
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161302
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Create two Calc views, set the first view language to English, second
view language to German. Type in the English view, double-click on a
chart in the German view. The sidebar in the German view will have
English strings in it. This doesn't happen if there is no typing right
after the chart activation in the English view.
What happens is that the sidebar update is async, and
sfx2::sidebar::SidebarController::notifyContextChangeEvent() gets
called, which registers an aync event when it calls
AsynchronousCall::RequestCall(). Then later this job gets scheduled, but
possibly by that time the active view is the English one, leading to
English strings when chart::ColumnChartDialogController::getName() calls
SchResId(), which works from the language of the current view.
Fix the problem similar to what commit
fb7b0b944741e4efae8d92a6e305036aff906c7a (cool#7492 sfx2 lok: just set
language/locale on async binding update, 2024-01-09), did: set the
language/locale from the current view before executing the async job and
restore the old value once we're done.
Extract the now duplicated code to a new SfxLokLanguageGuard, so in case
more places have a problem with incorrect l10n, then it's meant to be a
one-liner to fix further places.
(cherry picked from commit aaf6ce108e91b1504befe19afcee471e3316ae7a)
Change-Id: I52724a24d93fb753175a3b9b99bc33178519d981
|
|
With two Calc views (first is an English one, second is a German one),
type in the English view and in parallel to that, create a cell
selection in the German view. Sometimes the status bar update about the
selected cells arrives in English, in the German view.
The root of the problem is that SfxBindings has a timer that does the
expensive update of all the UNO commands only after a delay, but by the
time this timer runs, possibly the current view is no longer the German
one, which leads to English strings in the German view.
Fix the problem somewhat similar to what commit
ee7ca8e4ea8ed93655f99e77a9e77032ac830c46 (cool#7865 sfx2 lok: fix bad
view id on async command dispatch, 2023-12-20) did in
SfxHintPoster::DoEvent_Impl() by restoring the original view for the
duration of the timer job execution.
The test works even in case '--with-lang=en-US de' is not used, because
it asserts the locale, which is not downgraded to English when
translations are not available. This required turning the payload of the
.uno:RowColSelCount status update into JSON, which is meant to be mostly
backwards-compatible, given that we already have a mix of plain text and
JSON for the various UNO commands. Another trouble is that the
SfxBindings lazy update is a timer, so processing idles won't help and
sleeping in test code is not ideal, either. Solve that by exposing the
timer of SfxBindings, so test code can explicitly invoke the timer
without waiting.
(cherry picked from commit 51d8a2ef54751403fa707816e27ddb4e7faa8231)
Conflicts:
sc/qa/unit/tiledrendering/tiledrendering.cxx
Change-Id: Iacf17f81c28b95ce41a0ee29ad25eb576db0d62a
|
|
First step for publishing any palette for LOK.
Let's start with Document colors (colors used in the
document) which can be extracted similar to theme
colors from SfxViewShell.
Modify generateJSON function so it appends palette into
existing ptree/JSON.
In the next step we can make it more generic so it will
be able to send any palette managed by PaletteManager.
Change-Id: Ibb56690af6dfd59ee232e88b28e7a3d312d0e16c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161798
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 0460be8848b0ce02c07183e41dd7137ac3b94164)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161941
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
As it is done already for Writer. Unfortunately cannot
move the code from afterCallbackRegistered to base class
in sfx2 as it is not linked to svx which is needed to
generate JSON. So at least share generation and sending
part in ThemeColorChangerCommon.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Icbf681230bd4c49698c47d852a0862620d93bcec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161771
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161927
Tested-by: Jenkins
|
|
followup for commit 64624d225c71229acce4f889d4863d7c29c52658
lok: send error on access denied in image import
It shows an error in LOK when we try to insert image
from remote host blocked by HostFilter
Previously it was showing error in paste case,
now do the same also on image insertion.
For now disable HandleGraphicFilterError in sd, as it
crashes, is synchronous and cannot be easily fixed
- dialog sits inside module not linked to sfx2, needs
some rework.
Change-Id: I3c15ff5621add97ef9d60d4f4c1305dae2909158
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161001
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161774
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
- when we paste HTML with references to external images
and host filter is configured then we have empty graphics
- inform client about that so we can show an error to the user
Change-Id: I7d584c256d8d004955c970056341ab42864d1dd3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160319
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161773
Tested-by: Jenkins
|
|
Make possible to filter allowed data sources.
It is used for WebDAV curl, WEBSERVICE function, cell external
references.
Change-Id: Ifc82af31ff1123b5656a21e6a27624fb1616db39
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160196
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161772
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
Change-Id: If0c9727f53c1c4dfb78d1ccbd6b3ff602268bbf7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160156
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161059
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
Change-Id: If2c106fef9640499b82b5cf350cb5169beb219fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159838
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
cut down on some of these invalidations when the setting didn't change
and we don't need the expensive invalidation
Change-Id: Id84a79636fcd7f21c7a8dbe86218b75d32b26487
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161784
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
If you try hard enough, it's possible to request an "add conditional
format" dialog in one view and have the dialog pop up in an other view.
This is related to cool#7853 but it focuses on the wider problem.
What happens is that sometimes we do want to execute an uno command in
an async way, e.g. one dialog opening an other dialog in its response
handler: making sure the dialog is not manually / synchronously spinning
the main loop while it's running is wanted. Also fixing each & every
async command dispatch manually would be a lot of work.
Fix the problem by remembering the current view in SfxHintPoster::Post()
as it posts events to the main loop and restoring that view if necessary
in SfxHintPoster::DoEvent_Impl().
Other comments:
- An alternative would be to just dispatch all these UNO commands
synchronously, but see above, there are cases where we want to stay
async, a nested main loop would be worse.
- An even more general fix would be to handle all calls to
Application::PostUserEvent(), but vcl doesn't know what is the
current view and would have trouble switching to that view (only sfx2
and higher up knows that), so do this only at a SfxHintPoster::Post()
level, this is already meant to fix all async uno commands.
- There was a single case in sd/ where we tried to dispatch an async
event while switching views, so switch to a sync command dispatch
there to avoid the problem. CppunitTest_sd_tiledrendering would hang
without this and would emit a warning in SfxHintPoster::Post().
- Restore the sc/ code to do its async dispatch as it used to, so now
CppunitTest_sc_tiledrendering's testOpenURL is a test case that covers
this change.
Change-Id: I765e618f55caad791aa1fe7569a32bcc31622525
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161071
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
In readonly mode, Online users need to be able to click on a hyperlink and get the related info.
For this purpose, this PR adds a new function template that sends the hyperlink info if there is any at the clicked position.
I will send the implementation with the next commit.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I886ea22a7097aac73ade0da78a88ddfc95ad819c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160022
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161372
Tested-by: Jenkins
|
|
Change-Id: I694d9a6c508853d2d980f76cc259ce1e39149da4
|
|
The old name was misleading (it doesn't take an URL, but a filename);
also, now it's easier to grep for it - doesn't get mixed with
vcl::graphic::loadFromURL.
Change-Id: Ib88d2194200a6a54d2326971e0306ba39f0c7025
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161578
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161888
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
The magic of choosing a substitution font depends on the order of
fontfaces returned from PhysicalFontCollection::GetFontFaceCollection
(called from WinGlyphFallbackSubstititution::FindFontSubstitute).
Since commit db04b3e154a1fb8f222232ef969bb3617e051329 (return 64-bit
hash for O[U]String, 2022-08-22), the order has changed, which
resulted in different fallbacks in some documents (which aren't
well-formed in respect to their formatting, so when they work,
it's just luck).
The difference was because the 64-bit hash implementation was
modelled after Java one. This patch makes the code follow the
algorithm in rtl::str::hashCode_WithLength, used in 32-bit hash,
which restores the order (at least for my system). Not reliable,
just "why not".
Change-Id: I3c482e86bee79d6c9c6981300518c4ff6b7f29d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161706
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 4eeb6178fb9fb499bc417a42f8d6d0bdde9acb8e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161753
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
while I think the idea is that the copy on write should only
be done by OInterfaceContainerHelper3, i.e. that ownership
really transfers to OInterfaceIteratorHelper3 and OInterfaceContainerHelper3
makes a new one if that turns out to be necessary
Change-Id: I6e97e3b303f133edbbb35ac23f39cf5348ad49fe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161257
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit 28616cf0989dab2ca2a1710c64f6fb1c1d78c584)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161328
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
By default, the layout idle timer in the InterimWindowItem
class is set to TaskPriority::RESIZE. That is too high of
a priority as it appears that other timers are drawing
after the scrollbar has been redrawn.
As a result, when swiping, the content moves fluidly but
the scrollbar thumb does not move until after swiping
stops or pauses. Then, after a short lag, the scrollbar
thumb finally "jumps" to the expected position.
So, to fix this scrollbar "stickiness" when swiping,
setting the priority to TaskPriority::POST_PAINT causes
the scrollbar to be redrawn after any competing timers.
Change-Id: I8c0772fc40ddc690ee59c6267c1c50971f4ff238
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161184
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Patrick Luby <plubius@libreoffice.org>
(cherry picked from commit 9a685238cfcc17bb1586b07047bb077a5ce3821b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161215
|
|
After
author Armin Le Grand (allotropia) <armin.le.grand.extern@allotropia.de> 2023-12-20 19:42:28 +0100
committer Armin Le Grand <Armin.Le.Grand@me.com> 2023-12-21 21:13:55 +0100
commit 789a737ac92c4f2b0eb9820b99c43cc8253c8b29 (patch)
tree bc167ec04de29e63168844be973f59980fa36ac2
parent 3430a2c639a9f714259f9d319515464a653d21ab (diff)
Remove DeleteItemOnIdlex
it fails with
/home/xisco/libreoffice/include/svl/itemset.hxx: In member function ‘SfxItemPool& SfxPoolItemHolder::getPool() const’:
/home/xisco/libreoffice/include/svl/itemset.hxx:64:44: error: ‘isDeleted’ was not declared in this scope
64 | SfxItemPool& getPool() const { assert(!isDeleted() && "Destructed instance used (!)"); return *m_pPool; }
| ^~~~~~~~~
/home/xisco/libreoffice/include/svl/itemset.hxx: In member function ‘const SfxPoolItem* SfxPoolItemHolder::getItem() const’:
/home/xisco/libreoffice/include/svl/itemset.hxx:65:50: error: ‘isDeleted’ was not declared in this scope
65 | const SfxPoolItem* getItem() const { assert(!isDeleted() && "Destructed instance used (!)"); return m_pItem; }
| ^~~~~~~~~
make[1]: *** [/home/xisco/libreoffice/solenv/gbuild/LinkTarget.mk:340: /home/xisco/libreoffice/workdir/CxxObject/svl/source/items/itemiter.o] Error 1
make[1]: *** Se espera a que terminen otras tareas....
In file included from /usr/include/c++/12/cassert:44,
from /home/xisco/libreoffice/include/svl/whichranges.hxx:16,
from /home/xisco/libreoffice/include/svl/itemset.hxx:30,
from /home/xisco/libreoffice/svl/source/items/sitem.cxx:23:
/home/xisco/libreoffice/include/svl/itemset.hxx: In member function ‘SfxItemPool& SfxPoolItemHolder::getPool() const’:
/home/xisco/libreoffice/include/svl/itemset.hxx:64:44: error: ‘isDeleted’ was not declared in this scope
64 | SfxItemPool& getPool() const { assert(!isDeleted() && "Destructed instance used (!)"); return *m_pPool; }
| ^~~~~~~~~
/home/xisco/libreoffice/include/svl/itemset.hxx: In member function ‘const SfxPoolItem* SfxPoolItemHolder::getItem() const’:
/home/xisco/libreoffice/include/svl/itemset.hxx:65:50: error: ‘isDeleted’ was not declared in this scope
65 | const SfxPoolItem* getItem() const { assert(!isDeleted() && "Destructed instance used (!)"); return m_pItem; }
| ^~~~~~~~~
make[1]: *** [/home/xisco/libreoffice/solenv/gbuild/LinkTarget.mk:337: /home/xisco/libreoffice/workdir/CxxObject/svl/source/items/sitem.o] Error 1
In file included from /usr/include/c++/12/cassert:44,
from /home/xisco/libreoffice/include/svl/whichranges.hxx:16,
from /home/xisco/libreoffice/include/svl/itemset.hxx:30,
from /home/xisco/libreoffice/svl/source/items/itemset.cxx:30:
/home/xisco/libreoffice/include/svl/itemset.hxx: In member function ‘SfxItemPool& SfxPoolItemHolder::getPool() const’:
/home/xisco/libreoffice/include/svl/itemset.hxx:64:44: error: ‘isDeleted’ was not declared in this scope
64 | SfxItemPool& getPool() const { assert(!isDeleted() && "Destructed instance used (!)"); return *m_pPool; }
| ^~~~~~~~~
/home/xisco/libreoffice/include/svl/itemset.hxx: In member function ‘const SfxPoolItem* SfxPoolItemHolder::getItem() const’:
/home/xisco/libreoffice/include/svl/itemset.hxx:65:50: error: ‘isDeleted’ was not declared in this scope
65 | const SfxPoolItem* getItem() const { assert(!isDeleted() && "Destructed instance used (!)"); return m_pItem; }
| ^~~~~~~~~
In file included from /usr/include/c++/12/cassert:44,
from /home/xisco/libreoffice/include/o3tl/sorted_vector.hxx:15,
from /home/xisco/libreoffice/include/svl/itempool.hxx:30,
from /home/xisco/libreoffice/svl/source/items/itemset.cxx:31:
/home/xisco/libreoffice/svl/source/items/itemset.cxx: In member function ‘const SfxPoolItemHolder& SfxPoolItemHolder::operator=(const SfxPoolItemHolder&)’:
/home/xisco/libreoffice/svl/source/items/itemset.cxx:120:13: error: ‘isDeleted’ was not declared in this scope
120 | assert(!isDeleted() && "Destructed instance used (!)");
| ^~~~~~~~~
/home/xisco/libreoffice/svl/source/items/itemset.cxx:121:21: error: ‘const class SfxPoolItemHolder’ has no member named ‘isDeleted’
121 | assert(!rHolder.isDeleted() && "Destructed instance used (!)");
| ^~~~~~~~~
/home/xisco/libreoffice/svl/source/items/itemset.cxx: In member function ‘bool SfxPoolItemHolder::operator==(const SfxPoolItemHolder&) const’:
/home/xisco/libreoffice/svl/source/items/itemset.cxx:139:13: error: ‘isDeleted’ was not declared in this scope
139 | assert(!isDeleted() && "Destructed instance used (!)");
| ^~~~~~~~~
/home/xisco/libreoffice/svl/source/items/itemset.cxx:140:21: error: ‘const class SfxPoolItemHolder’ has no member named ‘isDeleted’
140 | assert(!rHolder.isDeleted() && "Destructed instance used (!)");
| ^~~~~~~~~
make[1]: *** [/home/xisco/libreoffice/solenv/gbuild/LinkTarget.mk:337: /home/xisco/libreoffice/workdir/CxxObject/svl/source/items/itemset.o] Error 1
In file included from /usr/include/c++/12/cassert:44,
from /home/xisco/libreoffice/include/svl/itemset.hxx:23,
from /home/xisco/libreoffice/include/svl/setitem.hxx:25,
from /home/xisco/libreoffice/svl/source/items/itempool.cxx:21:
/home/xisco/libreoffice/include/svl/itemset.hxx: In member function ‘SfxItemPool& SfxPoolItemHolder::getPool() const’:
/home/xisco/libreoffice/include/svl/itemset.hxx:64:44: error: ‘isDeleted’ was not declared in this scope
64 | SfxItemPool& getPool() const { assert(!isDeleted() && "Destructed instance used (!)"); return *m_pPool; }
| ^~~~~~~~~
/home/xisco/libreoffice/include/svl/itemset.hxx: In member function ‘const SfxPoolItem* SfxPoolItemHolder::getItem() const’:
/home/xisco/libreoffice/include/svl/itemset.hxx:65:50: error: ‘isDeleted’ was not declared in this scope
65 | const SfxPoolItem* getItem() const { assert(!isDeleted() && "Destructed instance used (!)"); return m_pItem; }
| ^~~~~~~~~
make[1]: *** [/home/xisco/libreoffice/solenv/gbuild/LinkTarget.mk:337: /home/xisco/libreoffice/workdir/CxxObject/svl/source/items/itempool.o] Error 1
In file included from /usr/include/c++/12/cassert:44,
from /home/xisco/libreoffice/include/svl/whichranges.hxx:16,
from /home/xisco/libreoffice/include/svl/itemset.hxx:30,
from /home/xisco/libreoffice/include/svl/itemprop.hxx:26,
from /home/xisco/libreoffice/svl/source/items/itemprop.cxx:23:
/home/xisco/libreoffice/include/svl/itemset.hxx: In member function ‘SfxItemPool& SfxPoolItemHolder::getPool() const’:
/home/xisco/libreoffice/include/svl/itemset.hxx:64:44: error: ‘isDeleted’ was not declared in this scope
64 | SfxItemPool& getPool() const { assert(!isDeleted() && "Destructed instance used (!)"); return *m_pPool; }
| ^~~~~~~~~
/home/xisco/libreoffice/include/svl/itemset.hxx: In member function ‘const SfxPoolItem* SfxPoolItemHolder::getItem() const’:
/home/xisco/libreoffice/include/svl/itemset.hxx:65:50: error: ‘isDeleted’ was not declared in this scope
65 | const SfxPoolItem* getItem() const { assert(!isDeleted() && "Destructed instance used (!)"); return m_pItem; }
| ^~~~~~~~~
make[1]: *** [/home/xisco/libreoffice/solenv/gbuild/LinkTarget.mk:337: /home/xisco/libreoffice/workdir/CxxObject/svl/source/items/itemprop.o] Error 1
make: *** [Makefile:290: build] Error 2
Change-Id: I0f61738d4afbdfc06b372d6c5e5fff6f9f9f4e65
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161142
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
(cherry picked from commit e9e3576ada06d53de12efed041fb309fe5388e01)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161214
|
|
There are some CrashReports in 7.6 which have
DeleteItemOnIdle on the stack, but there is nothing
reproducable. So I took a look...
I first thought it's a MCGR regression, due to classes
on the stack. But the Item involved is just random, can
happen with any Item.
Then I thought it may have to do with ITEM refactorings,
but it happens with DeleteItemOnIdle involved, so also
not the case. I already saw DeleteItemOnIdle when doing
these and qualified as 'hack' in the way. already
It is only on Windows and DeleteItemOnIdle is involved.
This again (took a deeper look now) is an old hack to
keep an SfxPoolItem 'alive' for some 'time'. For that,
it triggers an async reschedule which then deletes the
Item when being called. If the Item will be used after
that is pure coincidence - seems to work in most cases.
It seems as if for Windows the timing slightly changed
for some scenarios, so a reschedule is too early. This
can happen with this hack anytime.
DeleteItemOnIdle is used in scenarios where SfxPoolItem*
is e.g. returned, but is *not* anchored, so e.g. not
member of an SfxItemSet. Or in short: Lifetime is not
safe.
DeleteItemOnIdle exists since 1st import, but was
changed to AsyncEvent ca. 4 months ago (see
57145acf9ec47c23e307b7a5c0029d21d937cc35), so that may
have caused it. It is possible that these errors happen
on Windows since then. Before something more complicated
was used to delete it late, but surely also not really
safe.
Due to ITEM refactor I have the knowledge/tooling to
solve this. It will not be a 1-5 lines fix, but it is
a hack and in the way for further ITEM refactor anyways.
What we have nowadays is a SfxPoolItemHolder -> it's
like an SfxItemSet for a single Item. It safely holds/
controls the lifetime of an SfxPoolItem. It is already
used in quite some places. It helps to solve many hacks,
also the ones putting Items directly to the Pool - due
to there never was an alternative for that. In principle
the ItemPool/ItemSet/Item paradigm was never complete
without SfxPoolItemHolder.
Thus I started to fix that (and remove that hack for
good, sooo many changes over the years, sigh), but as
said is not straightforward. Will have to change
retvals of involved stuff to SfxPoolItemHolder - it's
just two pointers and designed to be copied (one is a
Pool, needed to cleanup when destructing).
CopyConstruct/destroy just counts the RefCnt up/down,
so cheap.
1st version compiling, let's check on gerrit...
Corrected one error in QueryState for securitypage, also
added some security features/asserts.
Change-Id: Ida49fd35ca88ead84b11d93e18b978cb9e395090
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161083
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
(cherry picked from commit 789a737ac92c4f2b0eb9820b99c43cc8253c8b29)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161158
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
which requires
(*) keeping ColorPicker alive during the runAsync in
ColorPicker::startExecuteModal
(*) keeping the PaletteManager alive during the ExecuteAsync in
PaletteManager::PopupCOlorPicker
Noting that MattK debugged the cause of this.
Change-Id: I07efe8e6514f8882b1347c79c6150578c234bb9d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161054
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
(cherry picked from commit 78ccae0d42d168f845ddbd7cb694d80dfb04f84d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161161
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
When DisableActiveContent is set, provide now non-functional areas
meaningful error messages / popup dialogs.
Change-Id: I34bffee10fb0ba5c0194193f3d3d81b93d7dbd26
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160923
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
(cherry picked from commit b693fba185df86fba6389ed564a12c0afeb33778)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161095
Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
|
|
Change-Id: I167f6ea5d740b5a53cd02a9b865e65ff980a8877
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160922
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
(cherry picked from commit 21f8e08c60cde2599f45b9e02c2b7d0cead2f625)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161029
Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
|
|
When DisableActiveContent is set, embedded active content is
disabled (e.g. OLE). Therefore the existing ui insertion bits don't
function either. Disable them with a warning pop-up hinting "Active
content is disabled."
Change-Id: I14984684f22df6aff81af79d5a15589b5cae75fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161055
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
(cherry picked from commit 7bb50fd2398220c3b162e7242c1cc8d6c4c31463)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161028
Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
|
|
Add reporting for the new CHECKABLE a11y state introduced in
commit d6c6472bbe1c90b733a4d69c4c8528f4de3750d3
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon Nov 13 15:53:44 2023 +0100
tdf#123864 a11y: Add new AccessibleStateType::CHECKABLE
for `VCLXAccessibleMenuItem`.
`MenuItemData::HasCheck` looks like it already provides
what's needed to say whether an item is checkable, therefore
add a `Menu::IsItemCheckable` that makes use of this and
and a `VCLXAccessibleMenuItem::IsCheckable` that
makes use of that in turn.
Extend `VCLXAccessibleMenuItem::FillAccessibleStateSet` to
use the latter to report the CHECKABLE state accordingly.
Change-Id: Id23196ef2527a71a338102a5143a8bd6fd41db84
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160902
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161037
|
|
And drop the default argument value from ZipStorage ctor.
Always pass it explicitly.
Change-Id: I8bcf78dc4db7763567f9d6873841d75c328ede7e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160760
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160782
Tested-by: Jenkins
|
|
The paragraph text may become shorter after the function succeeds,
because it may remove arbitrary number of preceding spaces; since
the position may then be used to access data in the string in the
caller, we need to update it, to avoid use of old position (which
may point beyond the string, and produce a crash; or it may point
to a wrong position in it).
Change-Id: Ib1b4b63cbd7150e0f69c97032e3410db7dadd4dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160924
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 1325d66a7f8657aaf9951a0664fbf14cca86905b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160934
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Regression from commit b8521d969ab5be4fc947e467d4afe969f9d3b563
(tdf#157263 sw floattable: prefer join over split after moving fwd,
2023-09-25), enabling Options -> Writer -> Formatting Aids -> Hidden
Characters, then opening the bugdoc, finally Toggle Print Preview on the
toolbar resulted in a crash.
We have a memory corruption here:
==11968==ERROR: AddressSanitizer: heap-use-after-free on address 0x60f0000734e0 at pc 0x7f473822d2ee bp 0x7fffdadd3660 sp 0x7fffdadd3658
READ of size 8 at 0x60f0000734e0 thread T0
#0 0x7f473822d2ed in rtl::Reference<FmXFormShell>::operator->() const /include/rtl/ref.hxx:216:9
#1 0x7f473821feeb in FmFormShell::IsActiveControl() const /svx/source/form/fmshell.cxx:1227:12
#2 0x7f46dad4d52a in SwView::SelectShell() /sw/source/uibase/uiview/view.cxx:296:40
#3 0x7f46dad496a6 in SwView::AttrChangedNotify(LinkParamNone*) /sw/source/uibase/uiview/view.cxx:572:13
...
#32 0x7f4748944cda in SfxViewFrame::SwitchToViewShell_Impl(unsigned short, bool) /sfx2/source/view/viewfrm.cxx:2552:32
#33 0x7f47488f4e3b in SfxViewFrame::ExecView_Impl(SfxRequest&) /sfx2/source/view/viewfrm.cxx:2637:29
freed by thread T0 here:
#0 0x5568ff2f9a7b in operator delete(void*, unsigned long) /home/abuild/rpmbuild/BUILD/llvm-15.0.7.src/build/../projects/compiler-rt/lib/asan/asan_new_delete.cpp:164:3
#1 0x7f4738214346 in FmFormShell::~FmFormShell() /svx/source/form/fmshell.cxx:181:1
#2 0x7f4746b04b9d in SfxDispatcher::FlushImpl() /sfx2/source/control/dispatch.cxx:1412:13
#3 0x7f4746aff767 in SfxDispatcher::Flush() /sfx2/source/control/dispatch.cxx:157:26
#4 0x7f47489100dc in SfxViewFrame::PopShellAndSubShells_Impl(SfxViewShell&) /sfx2/source/view/viewfrm.cxx:1100:24
#5 0x7f47489441a3 in SfxViewFrame::SwitchToViewShell_Impl(unsigned short, bool) /sfx2/source/view/viewfrm.cxx:2538:13
#6 0x7f47488f4e3b in SfxViewFrame::ExecView_Impl(SfxRequest&) /sfx2/source/view/viewfrm.cxx:2637:29
I.e. a new SwPagePreview replaces the old SwView, but the order is that
SfxViewFrame::SwitchToViewShell_Impl() starts with deleting the
SfxShells of the old SwView in PopShellAndSubShells_Impl(), then it
creates the new shell, finally deletes the old shell. Given that the new
shell hides hidden characters and the old shell did not, this triggers a
size notification for the half-deleted old shell and we crash.
Seeing that SwView::AttrChangedNotify() already had code to delay the
selection of an SfxShell in the old SwView, fix the problem by
introducing a new flag that allows not selecting an SfxShell at all if
the old view is known to be deleted in the near future anyway.
An alternative would be to make sure that all relevant pointers are
maintained using an SfxBroadcaster / SfxListener protocol, but after
fixing some 4 of them and that's still not enough, probably it's better
to handle this at a higher level. It's also a bit unclear how this
"worked" in the past; looks like the old view didn't get the size change
notification by accident.
Change-Id: I423ff946f8235848cc3a870bc52fcf88a721fd2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160925
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
(cherry picked from commit 164fb25f7b2db7d833d6d0f28e49c5cac68426b3)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160935
|
|
Similar to commit 798d21e2a1b8bc48b6bb5e1b3cf0cba0e5882a59 (tdf#157965:
UNO methods are expected to return sizes in mm/100, 2023-10-29); this
was an omission from commit 9e92a17cb6e03beedeeca40bfc8524c2623d31eb
(starmath: Improve glyph positioning, 2023-09-19).
The method is called in DomainMapper_Impl::appendStarMath(), and the
returned value is used to define object size using UNO methods.
Change-Id: I37cc4d5dd18641915495b97f0d99fa10a805e18c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160827
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 80b67e776ae26d60e0935fcc57a8ff6c983bdd15)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160852
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
...and update to latest Mozilla sources.
Originally, this was a non-external onlineupdate module (plus correspsonding
top-level include/onlineupdate/ directory) that apparently contained sources
originally copied from Mozilla and subsequently modified in-place (plus, mixed
in, presumably some sources that were not copied from Mozilla but were our own
inventions). To clean up this mess, this has been turned into a proper
external/onlineupdate module with a tarball containing the pristine external
Mozilla sources.
The sources for the onlineupdate-c003be8b9727672e7d30972983b375f4c200233f.tar.xz
tarball are taken, somewhat arbitrarily, from a recent
<https://github.com/mozilla/gecko-dev/commit/c003be8b9727672e7d30972983b375f4c200233f>
("Bug 1867784 - Force reflow all kids in the last column balancing reflow.
r=layout-reviewers,dholbert") trunk state, by running
`external/onlineupdate/generate-sources.sh ~/github.com/mozilla/gecko-dev` on a
Fedora 39 machine.
The layout of the tarball still mostly follows the old onlineupdate/ layout,
even if that deviates heavily from the actual source layout at
<https://github.com/mozilla/gecko-dev/>. (And some files, which apparently are
not needed, anyway, lacked sources, see the "Missing source for" in
external/onlineupdate/generate-sources.sh. And win_dirent.h/.cpp has meanwhile
been superseded by updateutils_win.h/.cpp.) Merely newly included source files
are laid out in the tarball according to the actual source layout.
Any LO-specific modifications are made via patch files (rather than modifying
the sources inline, as was done in the past): external/onlineupdate/lo.patch
contains whatever modifications are needed to adapt the functionality, while
external/onlineupdate/gtk3deprecated.patch fixes
> workdir/UnpackedTarball/onlineupdate/onlineupdate/source/update/updater/progressui_gtk.cpp:97:21: error: use of undeclared identifier 'gtk_vbox_new'; did you mean 'gtk_box_new'?
> 97 | GtkWidget* vbox = gtk_vbox_new(TRUE, 6);
> | ^~~~~~~~~~~~
> | gtk_box_new
to not use the deprecated gtk_vbox_new, which is hidden because we include
-DGTK_DISABLE_DEPRECATED in our GTK3_CFLAGS as per our configure.ac.
On Windows, the definition of __BYTE_ORDER__ etc. is needed because
workdir/UnpackedTarball/onlineupdate/include/mozilla/ says "Our supported
compilers provide architecture-independent macros for this", but MSVC doesn't
actually, so define here what would implicitly be defined by GCC. Similarly, on
Windows -U_WIN32_WINNT is needed to undo -D_WIN32_WINNT=0x0601 in
solenv/gbuild/platform/windows.mk, which would cause
> workdir\UnpackedTarball\onlineupdate\include\mozilla/WinHeaderOnlyUtils.h(537): error C2065: 'FILE_ID_INFO': undeclared identifier
etc., despite the #include <windws.h> there.
Curiously, the original gb_CustomTarget_CustomTarget,onlineupdate/generated from
onlineupdate/CustomTarget_generated.mk had to be renamed to
gb_CustomTarget_CustomTarget,external/onlineupdate/generated when the file was
moved to external/onlineupdate/CustomTarget_generated.mk, as otherwise a
top-level `make CustomTarget_onlineupdate/generated` would have failed with "No
rule to make target..." Also, as there is no gb_CustomTarget_use_unpacked, its
effect has been poorly mimicked for now in
external/onlineupdate/CustomTarget_generated.mk.
Similarly, as there is no gb_WinResTarget_use_unpacked, its effect has been
poorly mimicked for now in external/onlineupdate/WinResTarget_updater.mk.
The original onlineupdate/workben/test_dialog.cxx, which is actually code
written by us, has been moved to external/onlineupdate/workben/test_dialog.cxx.
The original onlineupdate/qa/ sources (which were apparently not used during the
build) have been preserved for now as external/onlineupdate/qa/, for
documentation purposes.
The original onlineupdate/astyle.options (which was apparently not used during
the build) has been removed.
Change-Id: I5ea606202e7837269e7b128e45af2f0b8c277f9e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160492
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
(cherry picked from commit 90255d8931af23e3b81a0d921699632bf323af29)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160804
|
|
a) announce Preview when a 'selected' font preview is requested
b) move EndPreview to when the dropdown popups down, rather than listen
to ESC
Change-Id: I68916769150c23c0ec18aae084cdf3cafb7352a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160609
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit 30d3a5743961274d360e683eccd2756257ed5e7a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160588
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
... and use it in the new experimental ODF encryption mode.
https://www.w3.org/TR/xmlenc-core1/#sec-AES-GCM
Unfortunately it turned out that NSS PK11_CipherOp() does not work with
CKM_AES_GCM because it is initialized with "context->multi = PR_FALSE"
in sftk_CryptInit(), so the one-step functions PK11_Encrypt() and
PK11_Decrypt() have to be used.
NSS 3.52 also changed a parameter struct definition - see
https://fedoraproject.org/wiki/Changes/NssGCMParams - which is not a
problem for RHEL or SUSE system NSS since those are rebased, but it
is likely a problem for less well maintained Ubuntu LTS, so use
the old struct definition which evidently still works with NSS 3.94.
NSS 3.52 also added a new PK11_AEADOp() API but it looks like this
doesn't support incremental encryption either.
Change-Id: Ibd4a672db74b65b1218926ba35ff8d2f70444c7e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160505
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit f0fda7ad2236f478fea396a23d4f982e5fc37e68)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160581
|
|
Change-Id: I60e2e995a159ebbbdc0991204d765b5654d5a4fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160510
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
(cherry picked from commit 7b2166c8217cb32f2f7951f074e33d9fe890bb9b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160489
Tested-by: Eike Rathke <erack@redhat.com>
|
|
and
cid#1545748 COPY_INSTEAD_OF_MOVE
cid#1545741 COPY_INSTEAD_OF_MOVE
cid#1545698 COPY_INSTEAD_OF_MOVE
cid#1545594 COPY_INSTEAD_OF_MOVE
cid#1545588 COPY_INSTEAD_OF_MOVE
cid#1545558 COPY_INSTEAD_OF_MOVE
cid#1545545 COPY_INSTEAD_OF_MOVE
Change-Id: I5dfec77a68959b9384fc71a2fc0908c5d1b42869
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160448
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
If this function returns null, storing a document will proceed without
reporting an error to the user, and lose all the data.
Change-Id: I0f9fd53702321e7997b28e12eb5bed3349bbcc13
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160435
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
from Impress/Draw
last mention of them was removed in 2006 by:
commit deef3fdfd9148ce1987b35a224998d63bb6b9d56
removing a commented out caller
that was already commented out by "initial import" time
Change-Id: I50fefe42a92c752727dfbf3b9d7c645492d034da
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160190
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
(*) Make all of it use a "Scoped" paradigm
(*) pass by value, no need to allocate on heap
(*) make all of the construction go via the *Access constructors, instead of it being some via the constructors and some via the Acquire*Access methods.
(*) take the Bitmap& by const& in the constructor, so we can avoid doing const_cast in random places.
Change-Id: Ie03a9145c0965980ee8df9a89b8714a425e18f74
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160293
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Redo the ODF encryption by storing an ODF package and wrapping it as a
stream "encrypted-package" in another ODF package, such that there is
only one encrypted stream - this requires only one KDF computation.
* This is only enabled in Experimental mode for now.
* Avoid storing unencrypted data in the pTempFile of SfxMedium, as it
is usually created in the same directory as the target file, which
may be on a network share or similar less trusted location.
* SfxMedium::SetEncryptionDataToStorage_Impl() should just set an
error status if it fails (how can it fail anyway)
* when loading a document, SfxDocPasswordVerifier extracts an encrypted
inner package (by calling SfxMedium::TryEncryptedInnerPackage())
* SfxMedium::GetStorage() automatically decrypts an encrypted inner
storage and sets it as the SfxMedium's xStorage
* when storing a document, SfxObjectShell::SaveTo_Impl() creates
the wrapped storages
* One challenge is to keep the macro/scripting signature working; this
can only be put in the inner storage, whereas the document signature
should continue to be on the outer storage; also it must use a Zip
storage, to see the "META-INF" directory. This needs a new
SfxMedium::GetScriptingStorageToSign_Impl() and changes in
SfxMedium::SignContents_Impl().
Change-Id: Ibfee36ce3a9cd030f2aa2ce1484b6d001cba2389
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160401
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Multimedia keys found on certain presentation clicker devices.
Not added to the Customize dialog, as that was not yet asked for.
As I have no access to a MAC, did not add support for that in vcl.
Inspiration for code taken from
commit ca74511985981444dbd72ade7244484c131e36a7
Change-Id: I417e6ba7e79c5f6e774a56ba747803a156d5f50f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160255
Tested-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
Having it subclass Bitmap encourages confusion in passing it around, and
I need the extra type-safety for my work on merged-alpha
Change-Id: I35819f9b8ee609cbdaf865563c78531e397b529b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160235
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|