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
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>
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>
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>
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>
Sequence.h(xx), Any.h(xx) and Type.h(xx)
and remove unused using-declarations from these files.
Add a few missing includes provided by them.
Change-Id: I6b91b6d1fdf9d0496dd546c0aab9bdcc6831a5d4
Reviewed-on: https://gerrit.libreoffice.org/23805
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Do not send title changed event if the source of the event is null.
This case can occur in multi-threaded scenario where one thread calls
disposing while some other thread calls impl_sendTitleChangedEvent().
Change-Id: I86a65824ab5c60a3fd8d3fb323f6d78944b57a23
Reviewed-on: https://gerrit.libreoffice.org/23736
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Make TitleHelper listen for controller events.
When the controller disposes, it calls the disposing method and releases its
leased number. Direct cast to XEventListener is ambiguous, so upcasting
path has been defined.
This commit depends on the commit f80de31099be1ba7c6f753187f6703a915151c27
Change-Id: I79d859edf8e66ae6e777ba8e8d6c9d1dac4048e1
Reviewed-on: https://gerrit.libreoffice.org/23722
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
To prevent infinite recursion set m_xOwner to null.
Removed impl_sendTitleChangedEvent from disposing method ensuring that
title is never constructed for a component that is disposing.
Change-Id: I9bc20a9a582d5d911509d2aa30fb0d0122eb588e
Reviewed-on: https://gerrit.libreoffice.org/23509
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
create an InterfaceContainer2 class to replace InterfaceContainer.
It uses a std::vector instead of a Sequence for the mutable listener
list, which provides far better performance.
Switch all our internal use-sites to the new class.
Change-Id: I6b56cfa511ded2395faa22e68fab3b2f16c3cb88
Code like:
if( aCommandURL.copy(5) != ".uno:" )
is obviously wrong, as OUString::copy(sal_Int32) takes the _beginning_
index, so for this condition to be false the command URL must have
".uno:" in the _middle_ of the string. This created some weird things
like an empty label attribute added to any submenu item. Moreover, the
command URL can be easily shorter than 5 (like when a custom submenu
added by the user). Using copy(5) in such case officially considered as
"undefined behavior" and will trigger an assert in debug build (that's
how I discovered this code actually).
Most likely the original intent was to check whether the command URL
doesn't start with ".uno:", and so should be changed to use
OUString::startsWith. But doing that will create a regression, as it
won't be possible anymore to change labels of commands that start with
".uno:". Simply dropping this check seems to be better solution here.
Change-Id: I2f88807eceae1006066a14750f2003e235f49ad4
The following properties have been removed:
toolbar:bitmap
toolbar:property
toolbar:width
toolbar:userdefined
This should have no impact on existing functionality or AddOns, since these properties were not in use.
Change-Id: I07574f8102648ee0713379be8cb0b605d2c76364
It was possible to set a tooltip for a certain toolbar entry.
However, this hasn't been used since that tooltip needed to be repeated for each occurence of the same command.
Instead, a TooltipLabel property has been introduced lately (see 9c2f197e8e945f584e718e889938c06fbf644897).
This doesn't affect extensions (They have their own format to specify toolbars).
Change-Id: I0f0fd05b310bb49dd5b4123e31d3e7fec997dd15
Isolation of windows headers using prewin.h
and postwin.h headers and making headers
dependent on them more self contained.
Conversion of TCHAR to WCHAR and
LPCTSTR to LPCWSTR etc. and cleanup
of unnecessary casts.
Change-Id: I7eff5c477d9223a064bfb4d962ff6d61960ee69c
Reviewed-on: https://gerrit.libreoffice.org/19901
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reusing the same xml format as the menubar, except that
a popup menu use menu:menupopup as the root element.
Change-Id: I2987af0dc698b09aeeb757cff828617515bc3009