Age | Commit message (Collapse) | Author | Files | Lines |
|
...otherwise, if $(username) happens to be "user", it will endlessly re-
substitute inside a (already partly re-substituted) URL of the form
$(user)/...
Regression introduced with 16fb0d3d0f68708c183c53bd18660a23970b77fe "tdf#98407
PathSubstitution: Add substitution for $(username)".
Change-Id: I1c8b64f383fdfd97fa5edc192e9ca4b46944d6f1
(cherry picked from commit 653e0ccc4e6230f28dd4c553dc7e9482beafa3cd)
Reviewed-on: https://gerrit.libreoffice.org/29314
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
There was not really a good enough reason for the change, and it
causes unfortunate regressions in 3rd-party code that previously
worked fine. (It also caused two regressions in LO's own code, but
those were already fixed.)
This reverts commit 5334ff287c65f028753171c7b38da7ffbcebc1cc.
(cherry picked from commit 38a3743e0c5d52f9386f74097fd512d3133fbbe3)
Change-Id: Iec36345fa3663bc5d96ce3e74d334c7aa075ada2
Reviewed-on: https://gerrit.libreoffice.org/28035
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
|
|
The auto-recovery service maintains a list of structures (one for each open
document) containing information needed to carry out the auto-save
functionality. One such piece of information is the location of the backup
file, stored in a struct member named 'OldTempURL'. At every auto-save
interval, this list is iterated through and a function (implts_saveOneDoc)
is called during each iteration to save the current state of the associated
document.
The algorithm works as follows:
1. A new backup file URL is chosen so as not to conflict with any already
existing backup files in the backup directory. This URL is based on the
file name and incorporates a number (starting at 0) that is incremented
until a name is chosen that doesn't conflict.
2. The document is saved to this new backup file URL
3. The previous backup file (indicated by its structure's 'OldTempURL') is
deleted
4. The new backup file URL is stored (in its structure's 'OldTempURL') for the
next time the file needs to be saved.
Assuming you start with a new Writer doc and then make some changes, when it is
time to auto-save, the backup file name 'untitled_0.odt' (excluding path) will
be selected, the latest state of the open file will be written to that backup
file, and the full URL for the backup file will be saved into the struct
'OldTempURL' member.
The next time changes are made and an auto-save occurs, this algorithm will
result in the name 'untitled_1.odt' being selected, the file contents saved
into this new file, 'untitled_0.odt' being deleted, and the full URL for the
new backup file being saved in 'OldTempURL'.
The third time through results in 'untitled_0.odt' being selected (since this
file doesn't exist on disk), and subsequent iterations of auto-saving cause
the backup file name to alternate between the two aforementioned.
The problem occurs during a 'Save as' operation. When this happens, the backup
file is deleted (which is fine - it was just saved, and the next auto-save will
back it up) but 'OldTempURL' is not properly reset (see below for more info.)
During the next auto-save, 'untitled_0.odt' will be selected for the new backup
file name (since no file exists by this name), and one of two things will
happen (based on how many auto-saves have occurred):
1. 'OldTempURL' points to 'untitled_1.odt', and the algorithm above continues
to work correctly (at least in that it continues to backup file contents.)
2. 'OldTempURL' points to 'untitled_0.odt', the name chosen for the new backup
file. In this case, the document contents will be saved to this file
(step 2) but then the file will be deleted (step 3). 'OldTempURL' will
maintain this URL from then on out, causing this case to be hit for all
future auto-save intervals.
So, 50% of the time (30 minutes out of every hour) auto-save will stop backing
up file contents on a 'Save as'.
The function that handles the 'Save as' case (implts_markDocumentAsSaved)
clears 'OldTempURL' and sets other relavent struct members for a local variable
copy of the global struct, but doesn't copy them back. :( These changes are
effectively lost when the function returns.
There are several other cases where this appears to be happening as well, but
more work is needed to determine whether this is actually the case:
- implts_prepareSessionShutdown
- implts_saveDocs, handling the 'dangerousDocs' and in a few other places
- implts_openDocs
- implts_resetHandleStates
Also, there is some JUnitTest code for auto-save, but it is currently disabled
(and fails to run successfully.) It'd be great to get these working again, or
to just write python equivalents. Implementing this would like take me a while,
though, so for now I just tested manually to ensure that this fixes the issue.
When I have some more time I'd like to work more on this, but I wanted to send
this patch in for now to address bug #96607.
This may also address bug #99890, since some of the struct members that don't
make it into the global state relate to the file name. I haven't explicitly
tested this case, though.
Change-Id: Ic702d6f78e60c7cf828a1564ccca118dd45d152b
Reviewed-on: https://gerrit.libreoffice.org/25948
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
Reviewed-on: https://gerrit.libreoffice.org/27919
Tested-by: jan iversen <jani@documentfoundation.org>
Reviewed-by: Aron Budea <baron@caesar.elte.hu>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
|
|
... to ODF packages. Somehow this is even skipped sometimes, but it's
much easier to just turn off the silliness than find out why.
Change-Id: Iff509dfd8325fd517e6434bcb56edbd06a3c27f1
(cherry picked from commit d76e3abe130007086099c62c5b425aaef82dc944)
Reviewed-on: https://gerrit.libreoffice.org/27900
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
... so it actually gets disabled in menu or removed from context menu if we say
so. Used with disallowing Paste for Ctrl+A selection or protected cells.
Change-Id: I7d5f8bdc7b7adee65d08b93ddee015aef953d95d
(cherry picked from commit fe46041a6b2fd29715389cc5eb2dfbaf65f7f1f9)
Reviewed-on: https://gerrit.libreoffice.org/27648
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
|
|
triggered by change...
commit f9bb13419549d621ffd55d9d81e0732a89560e2e
Author: Juergen Funk <juergen.funk_ml@cib.de>
Date: Fri May 13 10:42:17 2016 +0200
tdf#99815 use XNotifyingDispatch in sfx2
which allowed the problem introduced by...
commit d0c3c24da2506bff1719a276f2eff34589fa7663
Author: Kohei Yoshida <kohei.yoshida@gmail.com>
Date: Wed Jun 6 01:28:55 2012 -0400
Check if the system window has a close handler, and if yes, call it.
This allows the close event in the preview window to be handled in a
custom fashion, instead of having it call the normal "close window"
command.
to show up
Change-Id: I5c46fb7a49ae44fd748b5b7192aeb951c7d65191
(cherry picked from commit 903e60753f4cf8fb03e27ed312a699f72ac1649a)
Reviewed-on: https://gerrit.libreoffice.org/27077
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
|
|
No idea how one managed to trigger this. The only way I see is
to add the save button to one of the custom shapes dropdowns.
The ToolBox there has mpData->mbWillUsePopupMode set to true,
which causes ToolBarManager to call the update method of the
controller twice. update registers additional modify listener
each time, but there is only one "remove listener" call in
dispose.
Change-Id: I2a1d6e02f6d8b6bc847fb7694fffa6e85b1f5604
(cherry picked from commit 1771e2b2753af2c078b575c44e788ee70500bbca)
Reviewed-on: https://gerrit.libreoffice.org/26487
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
|
|
See 747a0fdda2a7723c2f8a8a022b468bcf29c700e3
("SaveToolbarController: Better support of readonly docs")
for the background. However this doesn't work, because
the save slot is disabled in other cases too, not just for
r/o docs (e.g. locked UI during file save, or when cond.
formatting window open in Calc).
Until a better solution is found, at least make sure that
the button is disabled, instead of going into the normal
save mode, which doesn't work.
Change-Id: If6e1b91b7c780fffac22cdb25c82bbd0a8520dc4
(cherry picked from commit 011128aa9493a680c3e9da6d074f125a90ec455c)
Reviewed-on: https://gerrit.libreoffice.org/26417
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
Tested-by: Maxim Monastirsky <momonasmon@gmail.com>
|
|
try fix that view->toolbars isn't in sync
Change-Id: I095be3003f076193878f2c3ce2a2be5acbe0e33f
(cherry picked from commit 15436c009e756dd4c94046f9849ad5a186454af8)
|
|
Change-Id: I99eec60db7f6d586b3b424661e03a7891422ab2e
|
|
The odd one out is the usage in Formula, which attempts
to restore focus to a particular window identified by
an unique id. In this case restore focus by keeping a VclPtr
to the desired window.
Change-Id: I1dc335325c109d75745c6bba2e12662e6ae50638
|
|
and drop duplicate definition in framework.
Change-Id: I6cb95241e659ad58429bffeaaf2f95b07ad12df6
Reviewed-on: https://gerrit.libreoffice.org/25400
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I860cc4aa04b4e5cd1437b2f24176ee2ccdec3266
Reviewed-on: https://gerrit.libreoffice.org/25420
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Revert "Toolbar: Refactor insert toolitem code"
This reverts commit 27bdc70d83d4a4f1ebb89429f61b39084e739aaa.
Change-Id: I1d46cddfd656ab8c809b6cd6308725a8e67fe538
Reviewed-on: https://gerrit.libreoffice.org/25433
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
until I have a better understanding of the UNO reference
counting.
This reverts commit 111de438ea3e512a541281dc0716cc728ea8d152.
|
|
triggered when I noticed a class doing acquire() in the constructor and
then release() in the destructor.
found mostly by
git grep -n -B5 -e '->release()'
Change-Id: Ie1abeaed75c1f861df185e3bde680272dbadc97f
Reviewed-on: https://gerrit.libreoffice.org/25363
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Align implementation with API contract as spelled out in
offapi/com/sun/star/frame/XDispatchProviderInterception.idl -
no idea why this change happenend in 2003:
Date: Fri Apr 4 16:16:05 2003 +0000
INTEGRATION: CWS fwk01 (1.1.72); FILE MERGED
2003/04/01 12:40:09 as 1.1.72.1: #107642# change order of used interception objects
At any rate, with this change extensions actually get a chance to
see dispatch requests first, and process/ignore at will.
Change-Id: I58876150ee6d67e592f41b3e82a9ffc314e091a3
Reviewed-on: https://gerrit.libreoffice.org/25215
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Make better use of the css::frame::XInterceptorInfo interface, to avoid
calling queryDispatch() pointlessly on interfaces that have explicitely
opted out. Since that already broadcasts which urls we're interested in
- so just don't bother calling entries who are not matching.
Change-Id: Id5e780568fd60c38f4cee4ee800d747d65a31dae
Reviewed-on: https://gerrit.libreoffice.org/25214
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Change-Id: I2953a88d9e2f5923732865ef17615d5928ac5f5f
Reviewed-on: https://gerrit.libreoffice.org/25154
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: Iabde7a84b9c2758e0d2b2ffe0fb99fcfa51ff124
Reviewed-on: https://gerrit.libreoffice.org/25075
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: Icf60f59e997afba28ac5115f7d7c4709a3f11a4a
|
|
Change-Id: Ia594e69e46253eb2db4fcf27ca108323a3d45f5f
Reviewed-on: https://gerrit.libreoffice.org/25113
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
and fix the operator< implementations in some of the other
plugins too.
Change-Id: Ie5631e0cdc8d2a994ad2af2533cdb558a6cfc035
Reviewed-on: https://gerrit.libreoffice.org/25057
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
we do an activate/deactivate to force the vcl menu to update
so we have a full model before we try to show the gtk one.
This particular toplevel menu has a deactivate handler which
empties out the submenus on the deactivate, so we don't get
the full thing, so we end up with missing entries.
The Deactivate to empty the menu is a bit dubious. Even if
we limited the activate/deactivate to submenus we still
get the deactivate before the "select" so the ordering is
fragile.
The Deactivate handler seems dubious anyway, why not just
clear it out after the Execute has finished which is
simpler and more direct anyway
dde83e3cea5b5fc1f91ebd336a2071ce8ff75e75
Change-Id: I56145f6236db1787cc4ee623c513cb927bf2a972
|
|
Change-Id: I72d9f8b00ba8b2e4e5dc70d7fd77e13ccf9d3bcc
Reviewed-on: https://gerrit.libreoffice.org/24940
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
|
|
This should allow remote, eg. URE dispatchers to trivially disable
lots of the UI without requiring a large volume of round-trip IPC.
Change-Id: Ibd0681ac993196f826b4ed411da5ffedb7f85786
Reviewed-on: https://gerrit.libreoffice.org/24938
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
Change-Id: Ib0451f26edbfbcdfdca78caa97bd09bc65ec2782
|
|
Change-Id: I8eb25fc274b45b8add04dfc03e4b52f130ad04de
Reviewed-on: https://gerrit.libreoffice.org/24827
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: Ic979d1470052039c4b966edd1d896af31ef55668
Reviewed-on: https://gerrit.libreoffice.org/24826
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: Ic8259d81d8080c518aa07697e253a59cd6efaa4b
|
|
... if loading the document failed. Make sure that's the case
also when the frame containing BackingComp was about to be
recycled. Can be tested by trying to open password-protected
odt, but canceling the password prompt.
Change-Id: I733357b3a961fd88db010dd8eb89e01f0cad10fa
|
|
Change-Id: I82ca89ac483e9742be0d38a3c6882a240c7c38d8
Reviewed-on: https://gerrit.libreoffice.org/24499
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
|
|
... when dispatching the .uno:CloseWin.
Change-Id: Iaf0651ea7e05bd8a6629d5af6e62f5918ef241ce
|
|
update is called so late that the dropdown addition is
noticeable by the user.
Change-Id: I36d76770125f927a851caef010e81f12f40d4405
|
|
... instead of continuing the detection loop and being
"detected" as plain text. The detection API will from now
return a type based on the file extension only, which is
far more useful than "plain text" anyway. Plus the media
descriptor has a flag to indicate that the detection wasn't
completed, which can be also used by the loading code to
abort the loading process.
Change-Id: Ida37e2687bd5cd86b5780620724e9bce82e11946
Reviewed-on: https://gerrit.libreoffice.org/24428
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
|
|
Change-Id: Id866aa244378758e3bdb9e99d02cdd2ae6104e16
|
|
XCUBasedAcceleratorConfiguration::getPreferredKeyEventsForCommandList() throws
if the command string of a menu entry is empty. Parent entries of sub menus of
extensions are empty. As the method doesn't know about the source of the command
a dummy entry is supplied.
Change-Id: I1d12bbf41c22b66e9ee29f1f05ea216134168795
Reviewed-on: https://gerrit.libreoffice.org/24423
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Oliver Specht <oliver.specht@cib.de>
|
|
Change-Id: I4b02aada5e50e7b30ed23fe12fab1c99f38ccfeb
Reviewed-on: https://gerrit.libreoffice.org/24056
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Change-Id: I14a902c644c467d8e02474e5d0ba8d3dced2860f
|
|
Change-Id: Iea11112a1bf1ff934de0e355b9e81979aa1966a3
Reviewed-on: https://gerrit.libreoffice.org/24286
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
|
|
Change-Id: Ic4fbc8e7220eb4641f67ef4f85d4853608a369f4
Reviewed-on: https://gerrit.libreoffice.org/24257
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
|
|
Change-Id: Idf27ee5370f1fa24adf22908d9e801c7d40db935
|
|
Change-Id: I5d5c916c966c9e9f2c77c9655f3e8d13a7032117
|
|
Change-Id: Ibb2831ed71f61461e7f23edd6eea29ba64df05a9
|
|
Change-Id: Ie0ad7834f54a5bf9cea65b4bb6d7501a90da0f24
|
|
Change-Id: I6a9a8ae34c2f5abafd4192287fb12d4289a761ff
|
|
There is no sign it got ever used past 4011187ff516846635d4e2c3256dca3eb8c3719f
"MWS_SRX644: migrate branch mws_srx644 -> HEAD" at least.
Change-Id: Ia98613420a095b326ad26c024ff74f3c62bf4f99
|
|
probably not much performance benefit, but it sure is good at
identifying leftover intermediate variables from previous
refactorings.
Change-Id: I3ce16fe496ac2733c1cb0a35f74c0fc9193cc657
Reviewed-on: https://gerrit.libreoffice.org/24026
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Searched source for using declarations.
Checked if those symbols reappear in the source file,
even in comments or dead code but not in #include statements.
If they don't reappear, remove the declaration.
Remove includes whose symbol got removed.
Change-Id: Ibb77163f63c1120070e9518e3dc0a78c6c59fab0
Reviewed-on: https://gerrit.libreoffice.org/24148
Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: Ic43d15d68533ee19b1a7268e5b139e4584ceeb42
Reviewed-on: https://gerrit.libreoffice.org/24121
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|