...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at
<https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html>
"Dynamic Exception Specifications" for details.
Most changes have been done automatically by the rewriting loplugin:dynexcspec
(after enabling the rewriting mode, to be committed shortly). The way it only
removes exception specs from declarations if it also sees a definition, it
identified some dead declarations-w/o-definitions (that have been removed
manually) and some cases where a definition appeared in multiple include files
(which have also been cleaned up manually). There's also been cases of macro
paramters (that were used to abstract over exception specs) that have become
unused now (and been removed).
Furthermore, some code needed to be cleaned up manually
(avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no
configurations available that would actually build that code. Missing @throws
documentation has not been applied in such manual clean-up.
Change-Id: I3408691256c9b0c12bc5332de976743626e13960
Reviewed-on: https://gerrit.libreoffice.org/33574
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Notes
(*) In SC, BULK_DATACHANGED was or'ed into the hint id. Replaced with a
dynamic_cast check.
(*) In SC, removed the hint id field from ScIndexHint, no point in
storing the hint id twice
(*) Fold the SfxStyleSheetHintId enum into the new SfxHintId enum, no
point in storing two different hint ids
(*) In some cases, multiple #define's used to map to the same SFX_HINT
value (notably the SFX_HINT_USER* values). I made all of those separate
values.
Change-Id: I990e2fb587335ebc51c9005588c6a44f768d9de5
Reviewed-on: https://gerrit.libreoffice.org/31751
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
There were over 150 places in *::Notify() functions that did some
dynamic_cast<SfxSimpleHint*> of which ~98% were unnecessary because the
base class SfxHint passed was an SfxSimpleHint anyway. dynamic_cast
operations come with quite some cost, so avoid if possible. Specifically
for ScFormulaCell::Notify() that created a bottleneck in scenarios where
cells were notified that already handled a previous notification. In
mass operations doing the dynamic_cast before it could be decided
whether having to act on it or not this made 2/3 of all time spent in
the Notify() call.
To get rid of that rename/move SfxSimpleHint to SfxHint and let classes
derive from SfxHint instead of SfxSimpleHint. This comes only with a
slight cost that an additional sal_uInt32 is transported in such hints,
initialized to 0, but this is neglectable compared to the huge gain.
For the rare cases where a Notify() actually expects both, an SfxHint
(formerly SfxSimpleHint) and a derived hint, this changed order of the
dynamic_cast involved so the simple SfxHint::GetId() is handled last.
Modules using such combinations can further optimize by treating the
simple SfxHint::GetId() first once verified that none of the other
derived hints use an ID not equal to zero respectively none of the ID
values the simple hint uses.
Change-Id: I9fcf723e3a4487ceb92336189d23a62c344cf0ce
Reviewed-on: https://gerrit.libreoffice.org/29205
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark
overriding destructors as 'virtual'" appears to no longer be a problem with
MSVC 2013.
(The little change in the rewriting code of compilerplugins/clang/override.cxx
was necessary to prevent an endless loop when adding "override" to
OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager();
in chart2/source/inc/LifeTime.hxx, getting stuck in the leading
OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that
isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.)
Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
+ sfx2::sidebar::EnumContext moved to the vcl module
+ TabPage contains vector with context values
+ vcl builder reads control's contexts from the "class" mark
+ ContextTabControl shows tabs depending on context
Change-Id: I661b0d3f35d46ace2a2e8eb1d374148f0c60017d
Reviewed-on: https://gerrit.libreoffice.org/26447
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
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>
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
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>
... and less overloaded; C++11 initializer_list should make undefined
behavior as fixed in ba0a866b83f016fd460320e7d057dd107e019f19 less
likely.
Change-Id: I15cc0804451b6a4fcbfaa623f9a30db222207865
Reviewed-on: https://gerrit.libreoffice.org/23666
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
... that are now busted on all 64-bit platforms since commit
57d0caacee2f395be2e89b78f8ece2d47b2c8683 but were already busted only
on 64-bit WNT before.
SfxDispatcher::Execute(sal_uInt16 nSlot, SfxCallMode eCall,
const SfxPoolItem* pArg1, ...)
assigns the varargs to a "const SfxPoolItem *", so passing in
"0L" is only correct if long is 64-bit, but on WNT 64-bit long is
32-bit, so use "nullptr" already.
Change-Id: I50448d8ad121c4881be549623d44c44b00e56d98
Remove L from integer literals if it does not produce warnings
and does not change semantics
Change-Id: I9573a47d3e3401993a1f0fbcf7df4be20f9e6eba
Reviewed-on: https://gerrit.libreoffice.org/22867
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
+ Removed comment cruft
+ Tab formatting in number of files
+ Some commented out code removed
+ Tab characters replaced with spaces
+ Newline cleanup in quite a few files
+ Tweak header guard #endifs
Change-Id: I3208ff2f047da890edcc49b73389aca22442f5fc
Reviewed-on: https://gerrit.libreoffice.org/22221
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
TODO: take into account remarks from Gerrit
New combo to select display mode among:
- Slide edition (Normal)
- Outline
- Notes
- Slide sorter
- Slide master
- Notes master
- Handout (master, as we are designing the template used to generate
the handout)
The combo is based on uno command .uno:DisplayMode
Center pane tabs are hidden by default. A new uno dispatch
command (.uno:ToggleTabBarVisibility) is available to show/hide
this tab bar.
Modified uno dispatch commands:
No uno name has been modified.
.uno:DiaMode :
SID_DIAMODE renamed SID_SLIDER_SORTER_MODE
.uno:OutlineMode
SID_OUTLINEMODE renamed SID_OUTLINE_MODE
.uno:NotesMode
No change
.uno:HandoutMode
SID_HANDOUT_MODE renamed SID_HANDOUT_MASTER_MODE
All internal code also considers the edit mode as master
.uno:SlideMasterPage
SID_SLIDE_MASTERPAGE renamed SID_SLIDE_MASTER_MODE
If the input parameter SfxBoolItem Isactive is true or not provided,
activates Slide Master mode. If parameter is false, activates the
"Normal" (slide editing) mode.
.uno:NotesMasterPage
SID_NOTES_MASTERPAGE renamed SID_NOTES_MASTER_MODE
If the input parameter SfxBoolItem Isactive is true or not provided,
activates Notes Master mode. If parameter is false, activates the
"Notes" mode.
Modified behaviours: Now only one mode can be chosen. It is possible to
navigate from a mode to any other mode.
Previous behaviour: the following navigation
Normal -> Slide Master -> Notes -> Normal
was displaying slide master. It was required to activate Normal once more
to get back to normal.
Now the same commands will display the requested mode.
Still to come (at least):
- Fix reopen the last display mode.
- Center pane tabs are now presenting all buttons for all modes (TODO).
Change-Id: I11ab59d2f3caa9149260c5e55d44d598d0ce3390
Reviewed-on: https://gerrit.libreoffice.org/16723
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
for the area behind the slide, that is
Change-Id: Ie020f43a81e5eaa257c20d0a7b6feffce1614205
Reviewed-on: https://gerrit.libreoffice.org/16466
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Philippe Jung <phil.jung@free.fr>
The following change adds the following uno commands to
draw and impress. Commands are in standard toolbar and
not visible by default.
NextPage: go to the next page
PreviousPage: go to the previous page
FirstPage: go to the first page
LastPage: go the the last page
MovePageUp: Moves the current selection above the page
preceding the selection.
MovePageDown: Moves the current selection below the page
following the selection.
MovePageTop: Moves the selection to the top.
MovePageBottom: Moves the current selection to the bottom.
Change-Id: I2dbd923f14fd9901fb513c58b51bc7ab91ad0a83
Reviewed-on: https://gerrit.libreoffice.org/16211
Reviewed-by: Philippe Jung <phil.jung@free.fr>
Tested-by: Philippe Jung <phil.jung@free.fr>
ie.
void f(void);
becomes
void f();
I used the following command to make the changes:
git grep -lP '\(\s*void\s*\)' -- *.cxx \
| xargs perl -pi -w -e 's/(\w+)\s*\(\s*void\s*\)/$1\(\)/g;'
and ran it for both .cxx and .hxx files.
Change-Id: I314a1b56e9c14d10726e32841736b0ad5eef8ddd