summaryrefslogtreecommitdiff
path: root/framework
AgeCommit message (Collapse)AuthorFilesLines
2016-07-15new loplugin unnecessary overrideNoel Grandin1-5/+0
Change-Id: I88d3e33823d68745b98625050a8a274f9ef04bcb Reviewed-on: https://gerrit.libreoffice.org/27135 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-07-13no need to create temporary OUString for comparisonNoel Grandin1-1/+1
Change-Id: I0a321e8ffbe379588a288084ec2e74e1a8c296b2 Reviewed-on: https://gerrit.libreoffice.org/27171 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-07-12new loplugin fragiledestructorNoel Grandin6-6/+6
fix up a small number of places that it finds Change-Id: Iedc91e141edfb28f727454f698cd2155a7fd5bf4 Reviewed-on: https://gerrit.libreoffice.org/26566 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-07-11loplugin:salbool: Better heuristic to determine code shared between C and C++Stephan Bergmann2-3/+3
Change-Id: I09c9c57d5adeb665cc2508fad9727085a3289bfb
2016-07-09Resolves: tdf#100732 hang closing Print Preview with X-icon on menubarCaolán McNamara1-0/+9
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
2016-07-08loplugin:redundantcast: redundant static_casts in frameworkStephan Bergmann2-5/+5
Change-Id: I3556fac0bd5100db44f389aeb9f64b635f3e0569
2016-07-08Related: tdf#100713 fix more recent bug to try and see older bug...Caolán McNamara1-4/+6
at the moment AddonsOptions::Notify is called with a null this which crashes during adding an extension regression from... commit 3bdc5063f942b9ea3b6e39e707926fbc516c19f9 Date: Wed Jun 22 02:30:43 2016 +0200 tdf#89329: use shared_ptr for pImpl in addonsoptions Change-Id: Ic28951e56bb8beca2a01ef2a1864eadcf3864e5b
2016-07-07loplugin:passstuffbyref also for {css::uno,rtl}::ReferenceStephan Bergmann4-6/+7
Change-Id: I22e493f08f11b10d709dd8b4a223a75d52bb5899
2016-07-04typo: emtpy → emptyChristian Lohmaier1-1/+1
Change-Id: I60cdcdc7fc38c175243c071f34295efa8739b717
2016-07-04comphelper::OBaseMutex -> cppu::BaseMutexNoel Grandin1-2/+2
convert usage of deprecated class, and remove the old class Change-Id: I19fb9271090d19e5531622b58492e1a848d306e2 Reviewed-on: https://gerrit.libreoffice.org/26843 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-29framework: fix typo in dispatchdisablerMiklos Vajna1-1/+1
maDisabledURLs is a set, aDisabledURLs is a sequence, the intention is to copy the set into the sequence, not to copy the (empty) set into itself. Change-Id: Ib262e863b1f1aa4c455bd7552df3dc2c3f73a400 Reviewed-on: https://gerrit.libreoffice.org/26765 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-06-28tdf#89329: use shared_ptr for pImpl in addonsoptionsXisco Fauli1-39/+24
Change-Id: I159ba04fa70f324d2a7f5b3c592337b92c7f097d Reviewed-on: https://gerrit.libreoffice.org/26560 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-24loplugin:singlevalfields in frameworkNoel Grandin16-39/+4
Change-Id: I5f5efe2180905343654bdbe4d765e7fd311a2d8a Reviewed-on: https://gerrit.libreoffice.org/26636 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-23tdf#96607 'Save as' doesn't update global auto-recovery stateanwilli51-0/+13
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>
2016-06-23tdf#97527 - vcl: reference-count MenuNoel Grandin14-88/+87
some places are marked with "dodgy"- need to check those to see what is going on, because they are leaving dangling pointers behind in the Menu class Change-Id: I41d5c7c0fec2f70ce9e3ffdc48cd03d26c0a869b Reviewed-on: https://gerrit.libreoffice.org/26516 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-22Resolves: tdf#88985 block app from exiting during macro executionCaolán McNamara2-0/+35
but stop basic execution on the exit attempt, and then resend exit at a safe place when basic execution has stopped Change-Id: I77c43acffa0b82e8125dcb3b10ad9bf0d6dd26c3
2016-06-20Remove unused includesStephan Bergmann1-1/+0
Change-Id: I25bb67449c8c572075d354e62b1c731e95655b4f
2016-06-20Try to fix the crashreport with SaveToolbarController::modifiedMaxim Monastirsky1-9/+0
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
2016-06-17Simplify OPropertyContainerHelper::registerPropertyNoMember's _pInitialValueStephan Bergmann1-2/+1
Change-Id: Ibfb27b3eded45e2646dada37ce3663f427985ae9
2016-06-17SaveToolbarController: back to using XStorableMaxim Monastirsky1-21/+27
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
2016-06-14the __RSC hack is only needed in src files and things included from src filesCaolán McNamara1-2/+0
Change-Id: I50c122426030ba5b508dcd6ac33464ecab154981
2016-06-13Fix typosAndrea Gelmini2-2/+2
Change-Id: Ic3efae53430fbb2c1eb7962c3cf69bf99315e55b Reviewed-on: https://gerrit.libreoffice.org/26202 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org>
2016-06-10Clean up uses of Any::getValue() in frameworkStephan Bergmann1-8/+6
Change-Id: I55982944bf2ee3d9aa6899bcc59e94f9342b4036
2016-06-09tdf#99815 fixups after XNotifyingDispatchJuergen Funk1-2/+1
- remove unused variable - check of given parameter over constructor Change-Id: If506ef9065c67da35f672466e1e49f82e2a5a678 Reviewed-on: https://gerrit.libreoffice.org/26093 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2016-06-09Try to get rid of svt::ContextMenuHelperMaxim Monastirsky1-2/+1
Change-Id: I7b43e417607b20c300e3c18e7da76a6173a18b7d Reviewed-on: https://gerrit.libreoffice.org/26098 Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com> Tested-by: Jenkins <ci@libreoffice.org>
2016-06-08remove some manual ref-counting in frameworkNoel Grandin1-10/+5
Change-Id: I469439abfa4e9dcd29f2d1693b03d37b3d61c81e Reviewed-on: https://gerrit.libreoffice.org/26047 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-08tdf#99815 use XNotifyingDispatch in sfx2Juergen Funk5-137/+51
- move DispatchHelper somewhere public - use it from generic dispatcher call sites in sfx2 - return result of dispatcher calls (conveyed via XDispatchResultListener) to calling code, instead of faking it Change-Id: Ie8041133e99dd99e45819f98798829b96532b9e6 Reviewed-on: https://gerrit.libreoffice.org/24953 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2016-06-07gtk3: move the updating of native menu to right after its activatedCaolán McNamara1-2/+0
try fix that view->toolbars isn't in sync Change-Id: I095be3003f076193878f2c3ce2a2be5acbe0e33f
2016-06-06remove unused fieldNoel Grandin1-1/+0
Change-Id: Ic8c9b50f496ee97da3f03af966005f28c37ff7e9
2016-06-06remove unused imports in java codeNoel Grandin1-6/+0
Change-Id: I95041f49dd22ba9a15da3598b04a010eecf761a8
2016-06-06remove some manual ref-countingNoel Grandin2-6/+10
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: I96e43a3d30ffd9ae9a34275f24cd914d8f7b026f Reviewed-on: https://gerrit.libreoffice.org/25806 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-03Teach loplugin:stringconstant about RTL_CONSTASCII_STRINGPARAMStephan Bergmann1-10/+10
Change-Id: I8ff0e104aad045f3835dc8facc760a8339b1d088
2016-06-03Add initial CppunitTest_framework_dispatchMiklos Vajna3-0/+250
Fails with commit 08cf2fd01064306eef7fdbb5b62320947c4d1089 (framework: last dispatchInterceptor gets asked first, 2016-05-20) reverted. Change-Id: I0e025a5d8996ecafa6b2fef753d6134079936b00 Reviewed-on: https://gerrit.libreoffice.org/25808 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-06-03loplugin:refcounting (RequestFilterSelect_Impl derives from XInterface)Stephan Bergmann1-7/+2
Change-Id: Iabf9b94626b599b4fe799523b3523e18df5203c5
2016-06-03tdf#89329: use unique_ptr for pImpl in interactionXisco Fauli1-6/+6
Change-Id: I21ad7278f7978e7eebf6962fdf1fac2d3cb2bddb Reviewed-on: https://gerrit.libreoffice.org/25637 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-02loplugin:unusedfieldsNoel Grandin2-3/+1
Change-Id: Ieed5f4d9411478d2568b8e5f4bbe0782bd1d309d Reviewed-on: https://gerrit.libreoffice.org/25724 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-01remove unused SID constants and associated codeNoel Grandin1-2/+1
found with a python script that looks like: process = subprocess.Popen( "git ls-files *.hrc | xargs grep -hE '#define +SID_' | cut -d ' ' -f 2 | sort -u", shell=True, stdout=subprocess.PIPE) for line in iter(process.stdout.readline, b''): line = line.strip() if line.startswith("//"): continue if line.startswith("sfx"): continue if len(line) < 10: continue i = subprocess.check_output("git grep -nP \"#define +" + line + " \"", shell=True) if i.count("#define") < 2: continue print line + " " + i Change-Id: I40eac2569c2b5b129d9459cb723a9d6f26d09264 Reviewed-on: https://gerrit.libreoffice.org/25715 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-30Convert DialogCancelMode to scoped enumNoel Grandin1-1/+1
Change-Id: I7aca03334c6609a8729bbc88ada6ecce4309c21d Reviewed-on: https://gerrit.libreoffice.org/25607 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-26lokit: ensure progress value sequentialHenry Castro1-1/+1
When it is saving a impress file, the status indicator sometimes receives lower values, that it is reflected to client side a flash to the progress bar. Change-Id: Ib3e8499357984843650c8d897c7b1d6baeb65ff6 Reviewed-on: https://gerrit.libreoffice.org/24326 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org>
2016-05-25sw: replace boost::shared_array with std::shared_ptrMichael Stahl1-1/+0
Change-Id: I99eec60db7f6d586b3b424661e03a7891422ab2e
2016-05-25(nearly) nothing uses GetUniqueId anymore, so remove it.Caolán McNamara4-31/+0
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
2016-05-25convert ImageType to scoped enumNoel Grandin3-55/+49
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>
2016-05-25Fix typosAndrea Gelmini1-2/+2
Change-Id: I860cc4aa04b4e5cd1437b2f24176ee2ccdec3266 Reviewed-on: https://gerrit.libreoffice.org/25420 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-25tdf#98753 Find Toolbar does not display "Search key not found"Samuel Mehrbrodt1-7/+22
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>
2016-05-24Revert "remove some manual ref-counting"Noel Grandin2-5/+6
until I have a better understanding of the UNO reference counting. This reverts commit 111de438ea3e512a541281dc0716cc728ea8d152.
2016-05-24remove some manual ref-countingNoel Grandin2-6/+5
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>
2016-05-23framework: last dispatchInterceptor gets asked firstThorsten Behrens1-9/+8
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>
2016-05-20framework: avoid excessive queryDispatch callsThorsten Behrens1-7/+14
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>
2016-05-20clang-tidy misc-assign-operator-signatureNoel Grandin8-8/+11
Change-Id: I2953a88d9e2f5923732865ef17615d5928ac5f5f Reviewed-on: https://gerrit.libreoffice.org/25154 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-19clang-tidy misc-unused-alias-declsNoel Grandin1-1/+0
Change-Id: Iabde7a84b9c2758e0d2b2ffe0fb99fcfa51ff124 Reviewed-on: https://gerrit.libreoffice.org/25075 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>