Noel Grandin
e6ffb539ee
loplugin:vclwidgets check for assigning from VclPt<T> to T*
...
Inspired by a recent bug report where we were assigning the result
of VclPtr<T>::Create to a raw pointer.
As a consequence, we also need to change various methods that were
returning newly created Window subclasses via raw pointer, to
instead return those via VclPtr
Change-Id: I8118e0195a5b2b4780e646cfb0e151692e54ae2b
Reviewed-on: https://gerrit.libreoffice.org/31318
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk >
2016-11-29 06:45:42 +00:00
Markus Mohrhard
039261b3f6
orcus is mandatory now
...
We use it as a json parser, for calc cell styles and tests. Making it
optional is just making the code more complex and introduces more
sources for errors.
Change-Id: I8769628a4ab9519cafc3d43db7c0007e0aa265dc
Reviewed-on: https://gerrit.libreoffice.org/31307
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com >
2016-11-28 15:52:20 +00:00
Stephan Bergmann
e19ffa1359
Revert "Timer::Start must be called with SolarMutex locked"
...
This reverts commit 1c3e88a4ffd927d4dda8bb9e0d05cddc6cd685c0; the static
AutoRecovery instance is only destroyed during exit, but wants to use
SolarMutex; that causes crashes at least in CppunitTest_services. Apparently
needs more thought.
2016-11-22 16:46:14 +01:00
Stephan Bergmann
1c3e88a4ff
Timer::Start must be called with SolarMutex locked
...
cf. DBG_TESTSOLARMUTEX added to Scheduler::Start in
c00d8271ba "vcl: assert solar mutex is held for
various timer / scheduler ops."
So cover operations on AutoRecovery::m_aTimer with SolarMutexGuard instead of
AutoRecovery's own mutex. Is it safe to split guarding like that here?
Hopefully. Would it be better to exclusively use SolarMutexGuard? Maybe.
The DBG_TESTSOLARMUTEX assert fired at least on macOS when opening some .odb
file:
> frame #19 : 0x00007fffc80e5893 libsystem_c.dylib`__assert_rtn + 320
> frame #20 : 0x000000010f5e4dae libvcllo.dylib`ImplDbgTestSolarMutex() + 110 at vcl/source/app/dbggui.cxx:47
> frame #21 : 0x000000010e6a5d62 libtllo.dylib`DbgTestSolarMutex() + 130 at tools/source/debug/debug.cxx:74
> frame #22 : 0x000000010f5eeb3a libvcllo.dylib`Scheduler::Start(this=0x00000001489233a8) + 58 at vcl/source/app/scheduler.cxx:287
> frame #23 : 0x000000010f62f03f libvcllo.dylib`Timer::Start(this=0x00000001489233a8) + 31 at vcl/source/app/timer.cxx:93
> frame #24 : 0x00000001481b7483 libfwklo.dylib`(anonymous namespace)::AutoRecovery::implts_updateTimer(this=0x00000001489232a0) + 259 at framework/source/services/autorecovery.cxx:2274
> frame #25 : 0x00000001481b3009 libfwklo.dylib`(anonymous namespace)::AutoRecovery::changesOccurred(this=0x00000001489232a0, aEvent=0x00007f92d87d0ec8) + 649 at framework/source/services/autorecovery.cxx:1678
> frame #26 : 0x000000014807e04b libfwklo.dylib`framework::WeakChangesListener::changesOccurred(this=0x0000000148c42488, rEvent=0x00007f92d87d0ec8) + 155 at framework/inc/helper/mischelper.hxx:222
> frame #27 : 0x000000011c13f29e libconfigmgrlo.dylib`configmgr::Broadcaster::send(this=0x00007000082f9e70) + 5694 at configmgr/source/broadcaster.cxx:187
> frame #28 : 0x000000011c0fd9bc libconfigmgrlo.dylib`configmgr::Access::insertByName(this=0x0000000148c118e0, aName=0x00007000082fa258, aElement=0x00007000082fa118) + 3196 at configmgr/source/access.cxx:1232
> frame #29 : 0x00000001481bdd23 libfwklo.dylib`(anonymous namespace)::AutoRecovery::implts_flushConfigItem(this=0x00000001489232a0, rInfo=0x00007000082fa600, bRemoveIt=false)::AutoRecovery::TDocumentInfo const&, bool) + 2483 at framework/source/services/autorecovery.cxx:2092
> frame #30 : 0x00000001481bb09d libfwklo.dylib`(anonymous namespace)::AutoRecovery::implts_registerDocument(this=0x00000001489232a0, xDocument=0x00007000082fa790) + 3597 at framework/source/services/autorecovery.cxx:2519
> frame #31 : 0x00000001481b2a35 libfwklo.dylib`(anonymous namespace)::AutoRecovery::documentEventOccured(this=0x00000001489232a0, aEvent=0x00007f92db3d8620) + 165 at framework/source/services/autorecovery.cxx:1571
> frame #32 : 0x00000001481d025b libfwklo.dylib`framework::WeakDocumentEventListener::documentEventOccured(this=0x0000000148c42548, rEvent=0x00007f92db3d8620) + 155 at framework/inc/helper/mischelper.hxx:258
> frame #33 : 0x0000000109fca69e libsfxlo.dylib`comphelper::OInterfaceContainerHelper2::NotifySingleListener<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent>::operator(this=0x00007000082fa910, listener=0x00007000082fa880)(com::sun::star::uno::Reference<com::sun::star::document::XDocumentEventListener> const&) const + 126 at include/comphelper/interfacecontainer2.hxx:272
> frame #34 : 0x0000000109fca4a3 libsfxlo.dylib`void comphelper::OInterfaceContainerHelper2::forEach<com::sun::star::document::XDocumentEventListener, comphelper::OInterfaceContainerHelper2::NotifySingleListener<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent> >(this=0x00000001489186b8, func=0x00007000082fa910) + 163 at include/comphelper/interfacecontainer2.hxx:285
> frame #35 : 0x0000000109fca0de libsfxlo.dylib`void comphelper::OInterfaceContainerHelper2::notifyEach<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent>(this=0x00000001489186b8, NotificationMethod=21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00, Event=0x00007f92db3d8620)(com::sun::star::document::DocumentEvent const&), com::sun::star::document::DocumentEvent const&) + 126 at include/comphelper/interfacecontainer2.hxx:298
> frame #36 : 0x0000000109fc9f08 libsfxlo.dylib`(anonymous namespace)::SfxGlobalEvents_Impl::implts_notifyListener(this=0x0000000148918628, aEvent=0x00007f92db3d8620) + 168 at sfx2/source/notify/globalevents.cxx:438
> frame #37 : 0x0000000109fc6874 libsfxlo.dylib`(anonymous namespace)::SfxGlobalEvents_Impl::documentEventOccured(this=0x0000000148918628, Event=0x00007f92db3d8620) + 132 at sfx2/source/notify/globalevents.cxx:243
> frame #38 : 0x000000014957597e libdbalo.dylib`comphelper::OInterfaceContainerHelper2::NotifySingleListener<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent>::operator(this=0x00007000082fab30, listener=0x00007000082faaa0)(com::sun::star::uno::Reference<com::sun::star::document::XDocumentEventListener> const&) const + 126 at include/comphelper/interfacecontainer2.hxx:272
> frame #39 : 0x0000000149575753 libdbalo.dylib`void comphelper::OInterfaceContainerHelper2::forEach<com::sun::star::document::XDocumentEventListener, comphelper::OInterfaceContainerHelper2::NotifySingleListener<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent> >(this=0x00007f92db0965f0, func=0x00007000082fab30) + 163 at include/comphelper/interfacecontainer2.hxx:285
> frame #40 : 0x000000014957407e libdbalo.dylib`void comphelper::OInterfaceContainerHelper2::notifyEach<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent>(this=0x00007f92db0965f0, NotificationMethod=21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00, Event=0x00007f92db3d8620)(com::sun::star::document::DocumentEvent const&), com::sun::star::document::DocumentEvent const&) + 126 at include/comphelper/interfacecontainer2.hxx:298
> frame #41 : 0x0000000149573dfb libdbalo.dylib`dbaccess::DocumentEventNotifier_Impl::impl_notifyEvent_nothrow(this=0x00007f92db0965a0, _rEvent=0x00007f92db3d8620) + 379 at dbaccess/source/core/dataaccess/documenteventnotifier.cxx:196
> frame #42 : 0x0000000149574580 libdbalo.dylib`dbaccess::DocumentEventNotifier_Impl::processEvent(this=0x00007f92db0965a0, _rEvent=0x00007f92db3d8610) + 224 at dbaccess/source/core/dataaccess/documenteventnotifier.cxx:229
> frame #43 : 0x000000010832ba30 libcomphelper.dylib`comphelper::AsyncEventNotifierBase::execute(this=0x000000014df32dd0) + 1184 at comphelper/source/misc/asyncnotification.cxx:163
> frame #44 : 0x000000010832e28a libcomphelper.dylib`comphelper::AsyncEventNotifierAutoJoin::run(this=0x000000014df32dd0) + 90 at comphelper/source/misc/asyncnotification.cxx:263
> frame #45 : 0x000000010832f23e libcomphelper.dylib`::threadFunc(param=0x000000014df32dd0) + 30 at include/osl/thread.hxx:185
> frame #46 : 0x0000000107e9bc27 libuno_sal.dylib.3`osl_thread_start_Impl(pData=0x00007f92db351d30) + 295 at sal/osl/unx/thread.cxx:240
> frame #47 : 0x00007fffc82a1aab libsystem_pthread.dylib`_pthread_body + 180
> frame #48 : 0x00007fffc82a19f7 libsystem_pthread.dylib`_pthread_start + 286
> frame #49 : 0x00007fffc82a1221 libsystem_pthread.dylib`thread_start + 13
Change-Id: I58fe8d61bfc491fa635b75d471a221bbb55c0f6e
2016-11-22 15:59:01 +01:00
Caolán McNamara
19c3559e87
Resolves: rhbz#1397181 toolbar layout manager not respecting drag cancel
...
plus restore original mbDockCanceled state after wayland-enforced
cancel otherwise next drag won't work
Change-Id: Idefed25b925b36d0bf72b77609c4fc2eb47f71b9
2016-11-22 14:13:42 +00:00
Noel Grandin
0a840edcc1
includes should be at the top of the file
...
not randomly scattered through the code
found with something like:
git ls-files *.cpp | xargs grep -Pzl "(?s){.*#include"
Change-Id: I9c242fa4ef99e8677f2800d7ec9f16d16e488351
Reviewed-on: https://gerrit.libreoffice.org/30952
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2016-11-18 09:25:06 +00:00
Noel Grandin
7cca2c7fb3
new loplugin finalprotected
...
look for final classes, and make sure they don't have protected members
Change-Id: I1fa810659bba02b61a5160dbfd8e24185ec9abf4
Reviewed-on: https://gerrit.libreoffice.org/30895
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk >
2016-11-16 09:10:16 +00:00
Maxim Monastirsky
01be56c648
Type detection can handle empty doc service just fine
...
But actually I can't imagine why the doc service could be
empty here, esp. since 8655fa318c
("Fix property name: ModuleName -> ModuleIdentifier").
Change-Id: I9a39cf0840910069769b4bedd61930aab2155e1b
2016-11-11 11:14:25 +02:00
Maxim Monastirsky
2a778b4a4d
RecentFile::aTitle is never read
...
Change-Id: Ic9f613f10914113af62fe6876e1a837a610a5782
2016-11-11 11:13:27 +02:00
Maxim Monastirsky
ecdb04638c
RecentFilesMenuController: Remove duplicate dispatch handling
...
Change-Id: I3f2729bfe82c059bbf934510cb4066a77867f3c8
2016-11-11 11:11:11 +02:00
Caolán McNamara
a6d324f30b
Resolves: rhbz#1391418 wayland toolbars can't be docked after undocking
...
see gnome#768128 for extra details
under wayland, given the misery here I'm going to just disable toggling between
docked and undocked under wayland, and throw away user config on toggling
docked/undocked away from the defaults. You can still drag docked things around
to new docking position, but you can't pull them out of the dock to float.
non-wayland is unaffected
Change-Id: Iaa859f3420e6d1b103a8b93d1ad8f82dbffe75d4
Reviewed-on: https://gerrit.libreoffice.org/30752
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Caolán McNamara <caolanm@redhat.com >
Tested-by: Caolán McNamara <caolanm@redhat.com >
2016-11-11 08:51:10 +00:00
Noel Grandin
78b4a1fb01
update vclwidget loplugin to find ref-dropping assigment
...
Look for places where we are accidentally assigning a returned-by-value
VclPtr<T> to a T*, which generally ends up in a use-after-free.
Change-Id: I4f361eaca88820cdb7aa3b8340212db61580fdd9
Reviewed-on: https://gerrit.libreoffice.org/30749
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2016-11-11 06:55:41 +00:00
Stephan Bergmann
574d331e76
Avoid starting m_aAsyncUpdateControllersTimer of disposed ToolBarManager
...
Seen a Jenkins build fail in JunitTest_framework_complex as below, and the only
remotely plausible scenario I can think of is that a call from
Frame::contextChanged -> ToolBarManager::frameAction started the timer after
Frame::close -> dispose -> ... -> ToolBarManager::dispose had been called but
before Frame::close -> dispose -> ... -> ~ToolBarManager had been called. (And
tracing the calls to Frame member functions, there indeed appear to be call
patterns during JunitTest_framework_complex where Frame::contextChanged is
called from within Frame::close -> dispose -> ...)
Any other calls to m_aAsyncUpdateControllersTimer.Start() in ToolBarManager
appear to already check for !m_bDisposed.
<http://ci.libreoffice.org/job/lo_tb_master_linux_dbg/9049/console >:
> #7 0x00002b2653546566 in __assert_fail_base () at /lib64/libc.so.6
> #8 0x00002b2653546612 in () at /lib64/libc.so.6
> #9 0x00002b2676f23777 in framework::ToolBarManager::~ToolBarManager() (this=0x3a48710, __in_chrg=<optimized out>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/framework/source/uielement/toolbarmanager.cxx:198
> #10 0x00002b2676f23978 in framework::ToolBarManager::~ToolBarManager() (this=0x3a48710, __in_chrg=<optimized out>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/framework/source/uielement/toolbarmanager.cxx:201
> #11 0x00002b2655fd5328 in cppu::OWeakObject::release() (this=0x3a48710) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/cppuhelper/source/weak.cxx:233
> #12 0x00002b2676ec7138 in cppu::WeakImplHelper<com::sun::star::frame::XFrameActionListener, com::sun::star::lang::XComponent, com::sun::star::ui::XUIConfigurationListener>::release() (this=0x3a48710) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/include/cppuhelper/implbase.hxx:113
> #13 0x00002b2655ef353a in com::sun::star::uno::cpp_release(void*) (pCppI=0x3a48738) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/include/com/sun/star/uno/genfunc.hxx:48
> #14 0x00002b2655c5d4ab in cppu::idestructElements(void*, _typelib_TypeDescriptionReference*, int, int, void (*)(void*)) (pElements=0x32c5a28, pElementType=0x1670d90, nStartIndex=0, nStopIndex=5, release=0x2b2655ef3517 <com::sun::star::uno::cpp_release(void*)>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/cppu/source/uno/destr.hxx:238
> p = 0x3a48738
> nPos = 4
> #15 0x00002b2655c5d64f in cppu::idestroySequence(_sal_Sequence*, _typelib_TypeDescriptionReference*, _typelib_TypeDescription*, void (*)(void*)) (pSeq=0x32c5a20, pType=0x24a6cf0, pTypeDescr=0x24a6cf0, release=0x2b2655ef3517 <com::sun::star::uno::cpp_release(void*)>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/cppu/source/uno/destr.hxx:284
> __PRETTY_FUNCTION__ = "void cppu::idestroySequence(uno_Sequence*, typelib_TypeDescriptionReference*, typelib_TypeDescription*, uno_ReleaseFunc)"
> #16 0x00002b2655c8952f in uno_type_sequence_destroy(uno_Sequence*, typelib_TypeDescriptionReference*, uno_ReleaseFunc) (sequence=0x32c5a20, type=0x24a6cf0, release=0x2b2655ef3517 <com::sun::star::uno::cpp_release(void*)>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/cppu/source/uno/sequence.cxx:916
> #17 0x00002b2655f31ba6 in com::sun::star::uno::Sequence<com::sun::star::uno::Reference<com::sun::star::uno::XInterface> >::~Sequence() (this=0x2679070, __in_chrg=<optimized out>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/include/com/sun/star/uno/Sequence.hxx:113
> rType = invalid uno::Type
> #18 0x00002b2655f2ef92 in cppu::OInterfaceIteratorHelper::~OInterfaceIteratorHelper() (this=0x2b26785beaf0, __in_chrg=<optimized out>) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/cppuhelper/source/interfacecontainer.cxx:103
> bShared = false
> #19 0x00002b2655f2fb98 in cppu::OInterfaceContainerHelper::disposeAndClear(com::sun::star::lang::EventObject const&) (this=0x32bd280, rEvt=...) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/cppuhelper/source/interfacecontainer.cxx:288
> aGuard = {pT = 0x0}
> aIt = {rCont = @0x32bd280, bIsList = 1 '\001', aData = {pAsSequence = 0x2679070, pAsInterface = 0x2679070}, nRemain = 0}
> #20 0x00002b2655f308d7 in cppu::OMultiTypeInterfaceContainerHelper::disposeAndClear(com::sun::star::lang::EventObject const&) (this=0x38bc030, rEvt=...) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/cppuhelper/source/interfacecontainer.cxx:477
> i = 0
> nSize = 3
> ppListenerContainers = std::unique_ptr<cppu::OInterfaceContainerHelper *> containing 0x2f7c650
> #21 0x00002b2676e37180 in (anonymous namespace)::Frame::disposing() (this=0x38bbf30) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/framework/source/services/frame.cxx:2242
> parent = uno::Reference to (com::sun::star::uno::XInterface *) 0x2b26785beca0
> xThis = uno::Reference to ((anonymous namespace)::Frame *) 0x38bbfa0
> layoutMgr = uno::Reference to (framework::LayoutManager *) 0x2fa5190
> aEvent = {Source = uno::Reference to ((anonymous namespace)::Frame *) 0x38bbfa0}
> xDisposableCtrl = uno::Reference to (com::sun::star::uno::XInterface *) 0x2b26785beca0
> xDisposableComp = uno::Reference to (com::sun::star::uno::XInterface *) 0x2b2676e34200 <(anonymous namespace)::Frame::isActive()+160>
> disp = 0x2f7c650
> xDispatchHelper = uno::Reference to (com::sun::star::uno::XInterface *) 0x2b26785bec80
> old = Application::Off
> contWin = uno::Reference to (com::sun::star::uno::XInterface *) 0x2b26785bf050
> #22 0x00002b2655f2b262 in cppu::WeakComponentImplHelperBase::dispose() (this=0x38bbf30) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/cppuhelper/source/implbase.cxx:107
> aEvt = {Source = uno::Reference to ((anonymous namespace)::Frame *) 0x38bbf30}
> aGuard2 = {pT = 0x39553a0}
> aGuard = {pT = 0x0}
> #23 0x00002b2676e3f0a6 in cppu::PartialWeakComponentImplHelper<com::sun::star::lang::XServiceInfo, com::sun::star::frame::XFrame2, com::sun::star::awt::XWindowListener, com::sun::star::awt::XTopWindowListener, com::sun::star::awt::XFocusListener, com::sun::star::document::XActionLockable, com::sun::star::util::XCloseable, com::sun::star::frame::XComponentLoader, com::sun::star::frame::XTitle, com::sun::star::frame::XTitleChangeBroadcaster, com::sun::star::beans::XPropertySet, com::sun::star::beans::XPropertySetInfo>::dispose() (this=0x38bbf30) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/include/cppuhelper/compbase.hxx:94
> #24 0x00002b2676e34edb in (anonymous namespace)::Frame::close(sal_Bool) (this=0x38bbf30, bDeliverOwnership=0 '\000') at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/framework/source/services/frame.cxx:1829
> xSelfHold = uno::Reference to ((anonymous namespace)::Frame *) 0x38bbf30
> aSource = {Source = uno::Reference to ((anonymous namespace)::Frame *) 0x38bbf30}
> pContainer = 0x33c4ba0
> aWriteLock = {m_bCleared = true, m_solarMutex = @0x16529c0}
> #25 0x00002b26752971a1 in gcc3::callVirtualMethod(void*, unsigned int, void*, _typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int, unsigned long*, double*) (pThis=0x38bbfd0, nVtableIndex=5, pRegisterReturn=0x0, pReturnTypeRef=0x165a1b0, bSimpleReturn=true, pStack=0x2b26785bf1a0, nStack=0, pGPR=0x2b26785bf2c0, pFPR=0x2b26785bf2f0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:133
> data = {pMethod = 47444203360446, pStack = 0x2b26785bf1a0, nStack = 0, pGPR = 0x2b26785bf2c0, pFPR = 0x2b26785bf2f0, rax = 47444228043088, rdx = 47444228043040, xmm0 = 4.9549649932863477e-314, xmm1 = 2.3440563169523938e-310}
> pMethod = 47444209328504
> #26 0x00002b26752960bc in cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*, bridges::cpp_uno::shared::VtableSlot, typelib_TypeDescriptionReference*, sal_Int32, typelib_MethodParameter*, void*, void**, uno_Any**) (pThis=0x2f330e0, aVtableSlot=..., pReturnTypeRef=0x165a1b0, nParams=1, pParams=0x3200050, pUnoReturn=0x0, pUnoArgs=0x3a70260, ppUnoExc=0x2b26785bf478) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:245
> pStack = 0x2b26785bf1a0
> pFPR = {2.34405631697769e-310, 2.3440546323697648e-310, 1.0609978954826362e-313, 2.3440563169796168e-310, 2.5903774855902888e-316, -9.6283901862001054e-07, 2.3440563169800615e-310, 0}
> __PRETTY_FUNCTION__ = "void cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*, bridges::cpp_uno::shared::VtableSlot, typelib_TypeDescriptionReference*, sal_Int32, typelib_MethodParameter*, void*, void**, uno_Any**)"
> pCppArgs = 0x2b26785bf170
> pStackStart = 0x2b26785bf1a0
> pGPR = {59490256, 0, 47444228043568, 47444174450194, 0, 52429824}
> nTempIndices = 0
> nFPR = 0
> pAdjustedThisPtr = 0x38bbfd0
> ppTempParamTypeDescr = 0x2b26785bf180
> nGPR = 2
> pReturnTypeDescr = 0x165a1b0
> pCppReturn = 0x0
> bSimpleReturn = true
> pTempIndices = 0x2b26785bf178
> #27 0x00002b2675296ada in bridges::cpp_uno::shared::unoInterfaceProxyDispatch(_uno_Interface*, _typelib_TypeDescription const*, void*, void**, _uno_Any**) (pUnoI=0x2f330e0, pMemberDescr=0x3200400, pReturn=0x0, pArgs=0x3a70260, ppException=0x2b26785bf478) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:436
> nMemberPos = 5
> aVtableSlot = {offset = 0, index = 5}
> pThis = 0x2f330e0
> pTypeDescr = 0x2590e40
> __PRETTY_FUNCTION__ = "void bridges::cpp_uno::shared::unoInterfaceProxyDispatch(uno_Interface*, const typelib_TypeDescription*, void*, void**, uno_Any**)"
> #28 0x00002b267653517a in binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny*, std::__debug::vector<binaryurp::BinaryAny, std::allocator<binaryurp::BinaryAny> >*) const (this=0x3aba970, returnValue=0x2b26785bf8a0, outArguments=0x2b26785bf920) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/binaryurp/source/incomingrequest.cxx:242
> exc = <error reading variable: Cannot access memory at address 0x3aba87808>
> pexc = 0x2b26785bf4a0
> retType = {_pTypeDescr = 0x165a1b0}
> nSize = 0
> retBuf = std::__debug::vector of length 0, capacity 0
> outBufs = empty std::__debug::list
> args = std::__debug::vector of length 1, capacity 1 = {0x3a331c0}
> __PRETTY_FUNCTION__ = "bool binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny*, std::__debug::vector<binaryurp::BinaryAny>*) const"
> isExc = false
> #29 0x00002b2676533f7a in binaryurp::IncomingRequest::execute() const (this=0x3aba970) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/binaryurp/source/incomingrequest.cxx:77
> resetCc = true
> oldCc = {m_pUnoI = 0x0}
> ret = {data_ = _uno_Any(void)}
> outArgs = std::__debug::vector of length 0, capacity 0
> isExc = false
> #30 0x00002b2676554a88 in binaryurp::(anonymous namespace)::request(void*) (pThreadSpecificData=0x3aba970) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/binaryurp/source/reader.cxx:85
> __PRETTY_FUNCTION__ = "void binaryurp::{anonymous}::request(void*)"
> #31 0x00002b2655c27f0b in cppu_threadpool::JobQueue::enter(long, bool) (this=0x398ea80, nDisposeId=39254816, bReturnWhenNoJob=true) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/cppu/source/threadpool/jobqueue.cxx:107
> guard = {pT = 0x398ea80}
> job = {pThreadSpecificData = 0x3aba970, doRequest = 0x2b2676554a1f <binaryurp::(anonymous namespace)::request(void*)>}
> pReturn = 0x0
> #32 0x00002b2655c2cb57 in cppu_threadpool::ORequestThread::run() (this=0x256fb20) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/cppu/source/threadpool/thread.cxx:168
> #33 0x00002b2655c2d04d in osl::threadFunc(void*) (param=0x256fb30) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/include/osl/thread.hxx:185
> pObj = 0x256fb30
> #34 0x00002b2652f08340 in osl_thread_start_Impl(void*) (pData=0x2570ac0) at /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/sal/osl/unx/thread.cxx:240
> terminate = false
> pImpl = 0x2570ac0
> __PRETTY_FUNCTION__ = "void* osl_thread_start_Impl(void*)"
> #35 0x00002b26538e1dc5 in start_thread () at /lib64/libpthread.so.0
> #36 0x00002b265360eced in clone () at /lib64/libc.so.6
Change-Id: I27e15a72f6b96484cb45928eaabae589cf9d7ed7
2016-11-09 17:19:53 +01:00
Stephan Bergmann
5d80555938
Return early from double ToolBarManager::dispose
...
...if that should ever happen. Also means that
ToolBarManager::RemoveControllers will now only be called with m_bDispose being
false.
Change-Id: If17d60f291cc8dad19d6f6e33d39e08c7f8ad7aa
2016-11-08 17:18:44 +01:00
Stephan Bergmann
991dad0a93
Clean up (calls to) ToolBarManager::RemoveControllers
...
...which turns out to be only called with SolarMutex locked
Change-Id: I3264b0a043da7111b8ca12c59ee7a590f1a43b8e
2016-11-08 16:53:57 +01:00
Stephan Bergmann
cb34498395
Clean up (calls to) StatusBarManger::RemoveControllers
...
...which turns out to be only called with SolarMutex locked and m_bDisposed
being false
Change-Id: I454e7951ea579fb6d9dc71d0aabebd373380b3e4
2016-11-08 16:14:32 +01:00
Stephan Bergmann
c0da11fb1c
There's no derivations from StatusBarManager
...
Change-Id: Ifa2970cf838209b72e286109f14b98e77f389c0b
2016-11-08 15:52:40 +01:00
Noel Grandin
98460e7a50
loplugin:expandablemethods in framework
...
Change-Id: I444f31f06d2445392a59879c2d7fb1f8ad1c24c6
Reviewed-on: https://gerrit.libreoffice.org/30684
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2016-11-08 08:53:09 +00:00
Noel Grandin
525a45f22f
loplugin:unnecessaryvirtual in framework
...
Change-Id: I893bf955e45e661e3ec440dbd530fca22931c23b
Reviewed-on: https://gerrit.libreoffice.org/30666
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2016-11-08 06:11:28 +00:00
Miklos Vajna
6f7016a9df
officecfg: add .uno:SignPDF label
...
And replace the existing .uno:Signature in the File menus with a submenu
that contains .uno:Signature and the new .uno:SignPDF.
Change-Id: I801b9332c697985446c64dd208c25dea2494350e
2016-11-07 17:28:22 +01:00
Noel Grandin
7f509501e9
loplugin:oncevar in framework
...
Change-Id: I7528a4afd59a19b069bcad2106ca80f429ef12e0
Reviewed-on: https://gerrit.libreoffice.org/30525
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2016-11-07 06:38:52 +00:00
Maxim Monastirsky
ba28100d81
NewDocument is now unused
...
Change-Id: Ifce80cec8935b960b14716d09080f76351633c0b
2016-11-06 22:05:06 +02:00
Maxim Monastirsky
cea3b8762b
NewMenuController: Fix template manager icon
...
The current logic is swapped. MenuAttributes::aImageId can be
only handled by SvFileInformationManager, while the menu item
command is what might be (in case of .uno command) handled
by CommandInfoProvider.
This gone wrong in tdf#96059 which wrongly assumed that
GetImageFromURL is equivalent to what's provided by
CommandInfoProvider (so other places should be checked too).
Change-Id: Ia487c602753dde3fb0d0462ef4b3d63209398b36
2016-11-06 21:37:27 +02:00
Maxim Monastirsky
5bd6b61a7c
NewMenuController: Remove duplicate async dispatch handling
...
Change-Id: I881e6781c5ba82b0b998891532f8b7c281567b73
2016-11-06 21:36:25 +02:00
Samuel Mehrbrodt
291d8d4f94
SafeMode: Add indicator to window title when in Safe Mode
...
Change-Id: I1d8350315768093b4c4af1cd8b732602c5217edb
Reviewed-on: https://gerrit.libreoffice.org/30518
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de >
2016-11-03 12:20:11 +00:00
Tomaž Vajngerl
b1426b5b50
tdf#95014 initial support for 32 px icons in toolbar
...
This adds support for 32 pixel icons - mainly to get them into
the toolbar.
Most changes made are to change the behavior of having only small
and large icons as a boolean choice, but not every code path was
converted to non-boolean choice yet.
Breeze icon theme has the 32px variants so it can be used already.
Change-Id: Iadf832a87826c16b3a83522104dd6c35d61a0f87
Reviewed-on: https://gerrit.libreoffice.org/30398
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com >
Tested-by: Tomaž Vajngerl <quikee@gmail.com >
2016-10-30 18:00:05 +00:00
Maxim Monastirsky
94876fe270
Let Menu dispose submenus
...
(I'm not sure about how good are the changes from ScopedVclPtr
to non-scoped, and disposeAndClear to clear. They aren't really
needed, because of the VclReferenceBase::mbDisposed logic. But
at least they should be safe, as long as we have disposeOnce
calls in Menu's dtor.)
See also previous commits:
4433d95b37
("MenuItemData now properly disposes the submenu")
89c23b4aae
("Sub menus no longer need manual disposing")
Change-Id: I9d455a94590f5eec9b097947f6984f1b3e477b52
2016-10-30 15:50:31 +02:00
Maxim Monastirsky
99da628e17
BmkMenu is dead now
...
Change-Id: I9b6e762fd4c231a5bd54eb546026499da2efa0e6
2016-10-30 15:40:39 +02:00
Caolán McNamara
d164f7e93e
coverity#1374317 Uncaught exception
...
Change-Id: I37a7b2f12cec522e116ccf4b1aa550ad2cba14ea
2016-10-27 21:32:18 +01:00
Maxim Monastirsky
074449ee34
GenericPopupToolbarController: deal with main command being disabled
...
Try to set another command from the dropdown, if there is any
enabled. Otherwise give up and disable the button altogether.
Change-Id: I7fa46a946826056d04851faee9c7ad85f00c3678
2016-10-27 11:05:38 +03:00
Maxim Monastirsky
e59013d6e9
GenericPopupToolbarController: Support replacing the main command
...
If a second arg is passed in the "Value" property, it will be
treated as boolean. If true - the button will be
ToolBoxItemBits::DROPDOWN, and will keep replacing the main
command with the last selected one from the dropdown. It will
also respond to status updates of that command, currently for
enabled/disabled and boolean (true treated as pressed) states.
Change-Id: I09a5c20e6d2a010867037754f036096246749ec4
2016-10-27 11:05:38 +03:00
Maxim Monastirsky
853c9efd00
MenuBarManager should pass the menubar flag down
...
... to popup menu controllers it creates, similar to what
is does for child MenuBarManager instances. That way a
child ResourceMenuController placed inside a popup menu
won't mistakenly think it's inside the main menu.
Change-Id: I75eea28eeb38f16bfaaa5526752a957859ef0d32
2016-10-27 11:05:38 +03:00
Caolán McNamara
5d5564fa7a
coverity#1374282 Uncaught exception
...
Change-Id: I1b31825ec27d2395ca030ca79b6c932b7814d901
2016-10-26 09:56:30 +01:00
Samuel Mehrbrodt
4846c0fed9
Open menu: Simplify inserting menu entries
...
Change-Id: Ia75f2fe349580003b16735fccf429392d0cf8363
Reviewed-on: https://gerrit.libreoffice.org/30082
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de >
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de >
2016-10-20 10:02:54 +00:00
Samuel Mehrbrodt
e39983fdaf
Toolbar Open menu: Insert separator between clear list and open entries
...
Change-Id: I037c5d09ecb70480f4559697e291c40567fea615
Reviewed-on: https://gerrit.libreoffice.org/30081
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de >
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de >
2016-10-20 10:00:41 +00:00
Samuel Mehrbrodt
eb4ad667b6
Add "Open as Template" to toolbar open menu
...
Change-Id: Ia8bea19f8f9377f27ab425c335e2a65bd2abcb2b
Reviewed-on: https://gerrit.libreoffice.org/30078
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de >
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de >
2016-10-20 09:57:53 +00:00
Olivier Hallot
e91a1abe4c
tdf#96015 (part) link to Doc'tation in Help menu
...
Add the entry "Documentation" to the modules Help menu.
on click, the system browser opens
http://hub.libreoffice.org/documentation/?&LOlang= <locale>
<locale> is obtained from .getLocale()
Patch2: create a member with try/catch for external URLs
Patch3
Use sfx2::openUriExternally
Revert to User Guides.. in UI.
Change-Id: I8332253c31bd3be330cdd794f9e056b632b38037
Patch4: remove 1st '&' in URLs
Reviewed-on: https://gerrit.libreoffice.org/28817
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de >
2016-10-19 16:07:33 +00:00
Noel Grandin
423936ffac
loplugin:expandablemethodds in formula..framework
...
Change-Id: I6c8b1bb3b664faa92b2dc05955c30bfd35f6dfaa
Reviewed-on: https://gerrit.libreoffice.org/30015
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk >
2016-10-19 07:57:11 +00:00
Jochen Nitschke
d1ea6ecda6
replace <<= with assign for <<= with rhs Any
...
found by deleting specialization of '<<=' template
Change-Id: I253f15177ab20fd3ef9baf4158da8c662cb47e6c
Reviewed-on: https://gerrit.libreoffice.org/29956
Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de >
Tested-by: Jochen Nitschke <j.nitschke+logerrit@ok.de >
2016-10-18 19:16:44 +00:00
Maxim Monastirsky
1cb46e2747
Avoid warning when opening the save dropdown
...
Change-Id: I92980d8d9326b8c0ed865d2ce796dccb7729e3e7
2016-10-18 17:27:57 +03:00
Samuel Mehrbrodt
b23d20d6d2
Make 'IsExperimental' property boolean
...
Change-Id: If88ea931ead8dd031fda9b17d9023a771ab0a0d0
Reviewed-on: https://gerrit.libreoffice.org/29970
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de >
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de >
2016-10-18 06:58:23 +00:00
Noel Grandin
292560a957
loplugin:unusedmethods
...
Change-Id: Icf773925c37dde8b7404edac9864e7b10fe113b4
Reviewed-on: https://gerrit.libreoffice.org/29968
Tested-by: Jenkins <ci@libreoffice.org >
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
2016-10-18 06:15:55 +00:00
Hieronymous
f85439d415
tdf#88205 Adapt uses of css::uno::Sequence to use initializer_list ctor
...
Change-Id: Id97c6698d9ecac07348d3bdd3e031dbbb8486ae7
Reviewed-on: https://gerrit.libreoffice.org/29824
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
Tested-by: Julien Nabet <serval2412@yahoo.fr >
2016-10-16 11:02:22 +00:00
Hieronymous
f2c3efb124
tdf#88205 Adapt uses of css::uno::Sequence to use initializer_list ctor
...
Change-Id: I5b484c6f6e950a59e811da818be8a5e1e6cfc65d
Reviewed-on: https://gerrit.libreoffice.org/29827
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
Tested-by: Julien Nabet <serval2412@yahoo.fr >
2016-10-16 11:00:34 +00:00
Hieronymous
ad59a9a9cd
tdf#88205 css::uno::Sequence to use initializer_list ctor.
...
Change-Id: If4f2e8e369930f028c342bc81c4f49df7350e238
Reviewed-on: https://gerrit.libreoffice.org/29811
Reviewed-by: Julien Nabet <serval2412@yahoo.fr >
Tested-by: Julien Nabet <serval2412@yahoo.fr >
2016-10-16 10:58:15 +00:00
Samuel Mehrbrodt
1b4165b0f3
Formatting: Make this readable without a 30" screen
...
Change-Id: I34ebbb009f682d55a5e1232b28eef56aa39a1b17
Reviewed-on: https://gerrit.libreoffice.org/29812
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de >
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de >
2016-10-14 12:26:16 +00:00
Hieronymous
dd5e0814cd
tdf#88205 Adapt uses of css::uno::Sequence to use initialize_list ctor
...
Change-Id: Idb456f6cf0b4f3dda4b92d341ae6de59cb9879e2
Reviewed-on: https://gerrit.libreoffice.org/29797
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk >
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk >
2016-10-14 06:31:00 +00:00
Maxim Monastirsky
55d0284885
-Werror=reorder
...
Change-Id: I827911df1bc379a0f0e303a15d44b30309a8bc04
2016-10-13 23:28:09 +03:00
Samuel Mehrbrodt
dad3e93a78
Improve formatting
...
Change-Id: I088997f51b6ed5131dec706f52b568671605d6e5
2016-10-13 21:53:06 +02:00
Samuel Mehrbrodt
ac20f98e49
Don't add experimental commands to the Menu
...
Change-Id: I76b1c745d4c4d99f3a0a8d7573f1beae99503ef9
2016-10-13 21:53:06 +02:00