[Libreoffice-commits] core.git: toolkit/source vcl/source

2021-05-19 Thread Noel Grandin (via logerrit)
 toolkit/source/helper/unowrapper.cxx |   24 
 vcl/source/window/window.cxx |5 +
 2 files changed, 21 insertions(+), 8 deletions(-)

New commits:
commit 6989c3df0facf3a5cb373942c337cbc7879fc0db
Author: Noel Grandin 
AuthorDate: Wed May 19 15:24:42 2021 +0200
Commit: Noel Grandin 
CommitDate: Wed May 19 19:20:32 2021 +0200

fix crash in X-Ray extension

caused by
commit 883b7a34d288410ac6f820e91d9eaa65ba2b9cb1
DBG_ASSERT->assert in UnoWrapper

No idea why X-ray is triggering this, but it seems to work when I dial
it back to a SAL_WARN again

And also caused by
commit 5aa60be574ece81b27c8f63e6e809871c694dba0
fix leak in VCLXWindow

So disconnect the toolkit-window-peer from the vcl::Window before
disposing the peer.

Change-Id: I3310b76c1affc13c53c1e23810e383a8d2152ec7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115806
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/toolkit/source/helper/unowrapper.cxx 
b/toolkit/source/helper/unowrapper.cxx
index 8474b45399c4..a83cd540ba5e 100644
--- a/toolkit/source/helper/unowrapper.cxx
+++ b/toolkit/source/helper/unowrapper.cxx
@@ -170,16 +170,24 @@ void UnoWrapper::SetWindowInterface( vcl::Window* 
pWindow, const css::uno::Refer
 if ( !pVCLXWindow )
 return;
 
-css::uno::Reference< css::awt::XWindowPeer> xPeer = 
pWindow->GetWindowPeer();
-if( xPeer.is() )
+if (!pWindow)
+{
+// we are disconnecting a peer from a window
+pVCLXWindow->SetWindow( nullptr );
+}
+else
 {
-bool bSameInstance( pVCLXWindow == dynamic_cast< VCLXWindow* >( 
xPeer.get() ));
-assert( bSameInstance && "UnoWrapper::SetWindowInterface: there is 
already a WindowPeer/ComponentInterface for this VCL window" );
-if ( bSameInstance )
-return;
+css::uno::Reference< css::awt::XWindowPeer> xPeer = 
pWindow->GetWindowPeer();
+if( xPeer.is() )
+{
+bool bSameInstance( pVCLXWindow == dynamic_cast< VCLXWindow* >( 
xPeer.get() ));
+SAL_WARN_IF( !bSameInstance, "toolkit.helper", 
"UnoWrapper::SetWindowInterface: there is already a 
WindowPeer/ComponentInterface for this VCL window" );
+if ( bSameInstance )
+return;
+}
+pVCLXWindow->SetWindow( pWindow );
+pWindow->SetWindowPeer( xIFace, pVCLXWindow );
 }
-pVCLXWindow->SetWindow( pWindow );
-pWindow->SetWindowPeer( xIFace, pVCLXWindow );
 }
 
 css::uno::Reference UnoWrapper::CreateMenuInterface( 
PopupMenu* pPopupMenu )
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 0a279983d02d..fa3cb12133d5 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -3129,6 +3129,11 @@ void Window::SetWindowPeer( Reference< 
css::awt::XWindowPeer > const & xPeer, VC
 // be safe against re-entrance: first clear the old ref, then assign the 
new one
 if (mpWindowImpl->mxWindowPeer)
 {
+// first, disconnect the peer from ourself, otherwise disposing it, 
will dispose us
+UnoWrapperBase* pWrapper = UnoWrapperBase::GetUnoWrapper();
+SAL_WARN_IF( !pWrapper, "vcl.window", "SetComponentInterface: No 
Wrapper!" );
+if ( pWrapper )
+pWrapper->SetWindowInterface( nullptr, mpWindowImpl->mxWindowPeer 
);
 mpWindowImpl->mxWindowPeer->dispose();
 mpWindowImpl->mxWindowPeer.clear();
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: toolkit/source vcl/source vcl/unx

2021-05-12 Thread Noel Grandin (via logerrit)
 toolkit/source/awt/vclxwindow.cxx |   48 +-
 vcl/source/window/window.cxx  |   11 +++-
 vcl/unx/gtk3/gtkframe.cxx |   10 +--
 3 files changed, 48 insertions(+), 21 deletions(-)

New commits:
commit 5aa60be574ece81b27c8f63e6e809871c694dba0
Author: Noel Grandin 
AuthorDate: Wed May 12 11:33:06 2021 +0200
Commit: Noel Grandin 
CommitDate: Wed May 12 13:37:18 2021 +0200

fix leak in VCLXWindow

which is a little tricky because dispose() can be called from either
side (vcl::Window or VCLXWindow)

Change-Id: Ifc380feec6bec84b2cf7d903d42db00755d4cd97
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115441
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/toolkit/source/awt/vclxwindow.cxx 
b/toolkit/source/awt/vclxwindow.cxx
index 4649a146d6e7..dfc6ba8f7c00 100644
--- a/toolkit/source/awt/vclxwindow.cxx
+++ b/toolkit/source/awt/vclxwindow.cxx
@@ -326,14 +326,7 @@ VCLXWindow::VCLXWindow( bool _bWithDefaultProps )
 
 VCLXWindow::~VCLXWindow()
 {
-mpImpl.reset();
-
-if ( GetWindow() )
-{
-GetWindow()->RemoveEventListener( LINK( this, VCLXWindow, 
WindowEventListener ) );
-GetWindow()->SetWindowPeer( nullptr, nullptr );
-GetWindow()->SetAccessible( nullptr );
-}
+assert(!mpImpl && "forgot to call dispose()");
 }
 
 
@@ -379,7 +372,7 @@ void VCLXWindow::resumeVclEventListening( )
 
 void VCLXWindow::notifyWindowRemoved( vcl::Window const & _rWindow )
 {
-if ( mpImpl->getContainerListeners().getLength() )
+if ( mpImpl && mpImpl->getContainerListeners().getLength() )
 {
 awt::VclContainerEvent aEvent;
 aEvent.Source = *this;
@@ -904,19 +897,25 @@ void VCLXWindow::dispose(  )
 {
 SolarMutexGuard aGuard;
 
-mpImpl->mxViewGraphics = nullptr;
+if (!mpImpl)
+return;
 
 if ( mpImpl->mbDisposing )
 return;
 
+mpImpl->mxViewGraphics = nullptr;
+
 mpImpl->mbDisposing = true;
 
 mpImpl->disposing();
 
-if ( GetWindow() )
+if ( auto pWindow = GetWindow() )
 {
+pWindow->RemoveEventListener( LINK( this, VCLXWindow, 
WindowEventListener ) );
+pWindow->SetWindowPeer( nullptr, nullptr );
+pWindow->SetAccessible( nullptr );
+
 VclPtr pOutDev = GetOutputDevice();
-SetWindow( nullptr );  // so that handlers are logged off, if 
necessary (virtual)
 SetOutputDevice( nullptr );
 pOutDev.disposeAndClear();
 }
@@ -934,22 +933,23 @@ void VCLXWindow::dispose(  )
 {
 OSL_FAIL( "VCLXWindow::dispose: could not dispose the accessible 
context!" );
 }
-mpImpl->mxAccessibleContext.clear();
 
-mpImpl->mbDisposing = false;
+mpImpl.reset();
 }
 
 void VCLXWindow::addEventListener( const css::uno::Reference< 
css::lang::XEventListener >& rxListener )
 {
 SolarMutexGuard aGuard;
-
+if (!mpImpl) // called during dispose by accessibility stuff
+return;
 mpImpl->getEventListeners().addInterface( rxListener );
 }
 
 void VCLXWindow::removeEventListener( const css::uno::Reference< 
css::lang::XEventListener >& rxListener )
 {
 SolarMutexGuard aGuard;
-
+if (!mpImpl)
+return;
 mpImpl->getEventListeners().removeInterface( rxListener );
 }
 
@@ -1036,6 +1036,9 @@ void VCLXWindow::removeWindowListener( const 
css::uno::Reference< css::awt::XWin
 {
 SolarMutexGuard aGuard;
 
+if (!mpImpl)
+return;
+
 Reference< XWindowListener2 > xListener2( rxListener, UNO_QUERY );
 if ( xListener2.is() )
 mpImpl->getWindow2Listeners().removeInterface( xListener2 );
@@ -1052,6 +1055,8 @@ void VCLXWindow::addFocusListener( const 
css::uno::Reference< css::awt::XFocusLi
 void VCLXWindow::removeFocusListener( const css::uno::Reference< 
css::awt::XFocusListener >& rxListener )
 {
 SolarMutexGuard aGuard;
+if (!mpImpl)
+return;
 mpImpl->getFocusListeners().removeInterface( rxListener );
 }
 
@@ -1064,6 +1069,8 @@ void VCLXWindow::addKeyListener( const 
css::uno::Reference< css::awt::XKeyListen
 void VCLXWindow::removeKeyListener( const css::uno::Reference< 
css::awt::XKeyListener >& rxListener )
 {
 SolarMutexGuard aGuard;
+if (!mpImpl)
+return;
 mpImpl->getKeyListeners().removeInterface( rxListener );
 }
 
@@ -1076,6 +1083,8 @@ void VCLXWindow::addMouseListener( const 
css::uno::Reference< css::awt::XMouseLi
 void VCLXWindow::removeMouseListener( const css::uno::Reference< 
css::awt::XMouseListener >& rxListener )
 {
 SolarMutexGuard aGuard;
+if (!mpImpl)
+return;
 mpImpl->getMouseListeners().removeInterface( rxListener );
 }
 
@@ -1088,6 +1097,8 @@ void VCLXWindow::addMouseMotionListener( const 
css::uno::Reference< css::awt::XM
 void VCLXWindow::removeMouseMotionListener( const css::uno::Reference< 
css::awt::XMouseMotionListener >& rxListener )
 {
 SolarMutexGuard aGuard;
+if (!mpImpl)
+return;
 

[Libreoffice-commits] core.git: toolkit/source vcl/source wizards/com

2015-10-09 Thread Julien Nabet
 toolkit/source/awt/vclxwindows.cxx|4 ++--
 vcl/source/control/ilstbox.cxx|2 +-
 wizards/com/sun/star/wizards/web/FTPDialog.py |2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 7ca450cbe524807d51893382fcaa0d1a47c939c6
Author: Julien Nabet 
Date:   Thu Oct 8 22:36:00 2015 +0200

Related tdf#94557: Combo box entries are case-sensitive (sometimes)

Revert partly 
http://cgit.freedesktop.org/libreoffice/core/commit/?id=76f33f10309b0ee384a75a7a854858b068d60495
author  Julien Nabet   2015-03-16 21:31:23 
(GMT)
committer   Caolán McNamara    2015-03-26 14:14:44 
(GMT)
commit  76f33f10309b0ee384a75a7a854858b068d60495 (patch)
treee12e3b6f2ca46cb9998b93b5c1bb3406408ad3cb
parent  6c4100cf81e1678ff386549c0cdaa2f73a154ddc (diff)
tdf#67990: Management of case in combobox

See comments of tdf#94557 for more information

Change-Id: I0432db0c3f76c20e55d8fecb69734952dc0cf53b
Reviewed-on: https://gerrit.libreoffice.org/19260
Tested-by: Jenkins 
Reviewed-by: Julien Nabet 

diff --git a/toolkit/source/awt/vclxwindows.cxx 
b/toolkit/source/awt/vclxwindows.cxx
index 2e64ff1..e733efa 100644
--- a/toolkit/source/awt/vclxwindows.cxx
+++ b/toolkit/source/awt/vclxwindows.cxx
@@ -4340,12 +4340,12 @@ void VCLXComboBox::setProperty( const OUString& 
PropertyName, const ::com::sun::
 {
 sal_Int16 n = sal_Int16();
 if ( Value >>= n )
- pComboBox->EnableAutocomplete( n != 0, true );
+ pComboBox->EnableAutocomplete( n != 0 );
 else
 {
 bool b = bool();
 if ( Value >>= b )
-pComboBox->EnableAutocomplete( b, true );
+pComboBox->EnableAutocomplete( b );
 }
 }
 break;
diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx
index 56d64cb..5d06f46 100644
--- a/vcl/source/control/ilstbox.cxx
+++ b/vcl/source/control/ilstbox.cxx
@@ -266,7 +266,7 @@ sal_Int32 ImplEntryList::FindMatchingEntry( const OUString& 
rStr, sal_Int32 nSta
 }
 else
 {
-bMatch = rStr.isEmpty() || (pImplEntry->maStr.startsWith(rStr));
+bMatch = pImplEntry->maStr.startsWith(rStr);
 }
 if ( bMatch )
 {
diff --git a/wizards/com/sun/star/wizards/web/FTPDialog.py 
b/wizards/com/sun/star/wizards/web/FTPDialog.py
index cb4e2c2..673102a 100644
--- a/wizards/com/sun/star/wizards/web/FTPDialog.py
+++ b/wizards/com/sun/star/wizards/web/FTPDialog.py
@@ -310,7 +310,7 @@ class FTPDialog(WizardDialog):
 self.setEnabled(self.btnTestConnection, True)
 
 
-# To try the conenction I do some actions that
+# To try the connection I do some actions that
 # seem logical to me: 
 # I get a ucb content.
 # I list the files in this content.
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: toolkit/source vcl/source

2015-06-04 Thread Caolán McNamara
 toolkit/source/awt/vclxtoolkit.cxx |   20 
 vcl/source/app/svapp.cxx   |3 ++-
 2 files changed, 22 insertions(+), 1 deletion(-)

New commits:
commit 3f69547397e5841d0915921be5be8b3edfdfdbc5
Author: Caolán McNamara caol...@redhat.com
Date:   Thu Jun 4 10:06:17 2015 +0100

Resolves: tdf#46440 SIGSEGV on toolkit bootstrap without running instance

Change-Id: I9a78a75b3d72586b1702ed6fa63bb0b62ce6cd72

diff --git a/toolkit/source/awt/vclxtoolkit.cxx 
b/toolkit/source/awt/vclxtoolkit.cxx
index 8745157..642c636 100644
--- a/toolkit/source/awt/vclxtoolkit.cxx
+++ b/toolkit/source/awt/vclxtoolkit.cxx
@@ -44,6 +44,7 @@
 #include com/sun/star/awt/XToolkitExperimental.hpp
 #include com/sun/star/awt/XMessageBoxFactory.hpp
 
+#include cppuhelper/bootstrap.hxx
 #include cppuhelper/compbase2.hxx
 #include cppuhelper/interfacecontainer.hxx
 #include cppuhelper/supportsservice.hxx
@@ -595,6 +596,25 @@ static void SAL_CALL ToolkitWorkerFunction( void* pArgs )
 {
 osl_setThreadName(VCLXToolkit VCL main thread);
 
+css::uno::Referencecss::lang::XMultiServiceFactory xServiceManager;
+try
+{
+xServiceManager = ::comphelper::getProcessServiceFactory();
+}
+catch (const css::uno::DeploymentException)
+{
+}
+if (!xServiceManager.is())
+{
+css::uno::Referencecss::uno::XComponentContext xContext =
+::cppu::defaultBootstrap_InitialComponentContext();
+
+xServiceManager = css::uno::Referencecss::lang::XMultiServiceFactory(
+xContext-getServiceManager(), css::uno::UNO_QUERY_THROW );
+// set global process service factory used by unotools config helpers
+::comphelper::setProcessServiceFactory( xServiceManager );
+}
+
 VCLXToolkit * pTk = static_castVCLXToolkit *(pArgs);
 bInitedByVCLToolkit = InitVCL();
 if( bInitedByVCLToolkit )
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index 34bc5505..bf35873 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -418,7 +418,8 @@ void Application::AcquireSolarMutex( sal_uLong nCount )
 
 bool Application::IsInMain()
 {
-return ImplGetSVData()-maAppData.mbInAppMain;
+ImplSVData* pSVData = ImplGetSVData();
+return pSVData ? pSVData-maAppData.mbInAppMain : false;
 }
 
 bool Application::IsInExecute()
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: toolkit/source vcl/source

2015-03-26 Thread Julien Nabet
 toolkit/source/awt/vclxwindows.cxx |4 ++--
 vcl/source/control/ilstbox.cxx |2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 76f33f10309b0ee384a75a7a854858b068d60495
Author: Julien Nabet serval2...@yahoo.fr
Date:   Mon Mar 16 22:31:23 2015 +0100

tdf#67990: Management of case in combobox

I noticed these 2 points:
1) Combobox were used with autocomplete with default (false) value for 
matchCase
= so initialize autocomplete with true value for matchCase
2) FindMatchingEntry uses bLazy as !matchCase
but when bLazy = false, no autocomplete can work since you must type the 
whole word
so just use entryCombo startsWith typed string instead of entryCombo 
== typed string

(thank you Lionel for this tip: 
http://nabble.documentfoundation.org/Finding-the-right-location-for-tdf-67990-Base-module-td4143324.html)

Change-Id: Ib1063002c3284122fd5279f27c1ccbc177bbac7c
Reviewed-on: https://gerrit.libreoffice.org/14885
Reviewed-by: Caolán McNamara caol...@redhat.com
Tested-by: Caolán McNamara caol...@redhat.com

diff --git a/toolkit/source/awt/vclxwindows.cxx 
b/toolkit/source/awt/vclxwindows.cxx
index 8e80a52..a30695d 100644
--- a/toolkit/source/awt/vclxwindows.cxx
+++ b/toolkit/source/awt/vclxwindows.cxx
@@ -4374,12 +4374,12 @@ void VCLXComboBox::setProperty( const OUString 
PropertyName, const ::com::sun::
 {
 sal_Int16 n = sal_Int16();
 if ( Value = n )
- pComboBox-EnableAutocomplete( n != 0 );
+ pComboBox-EnableAutocomplete( n != 0, true );
 else
 {
 bool b = bool();
 if ( Value = b )
-pComboBox-EnableAutocomplete( b );
+pComboBox-EnableAutocomplete( b, true );
 }
 }
 break;
diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx
index f01c0ec3..74969b8 100644
--- a/vcl/source/control/ilstbox.cxx
+++ b/vcl/source/control/ilstbox.cxx
@@ -287,7 +287,7 @@ sal_Int32 ImplEntryList::FindMatchingEntry( const OUString 
rStr, sal_Int32 nSta
 }
 else
 {
-bMatch = rStr.isEmpty() || (rStr == pImplEntry-maStr );
+bMatch = rStr.isEmpty() || (pImplEntry-maStr.startsWith(rStr));
 }
 if ( bMatch )
 {
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: toolkit/source vcl/source

2014-10-04 Thread Noel Grandin
 toolkit/source/awt/vclxtopwindow.cxx |7 ---
 vcl/source/window/menufloatingwindow.cxx |4 ++--
 2 files changed, 6 insertions(+), 5 deletions(-)

New commits:
commit ad5e8b30ac66a00d0110fcdaf4d064181247585b
Author: Noel Grandin n...@peralex.com
Date:   Sat Oct 4 20:11:40 2014 +0200

fix for invalid dynamic_cast

after my loplugin-cstylecast commits.
this is a follow on to the bug reported in fdo#84608

Change-Id: Icc4f4baf3690e939c07a71a949200270bf1f4614

diff --git a/toolkit/source/awt/vclxtopwindow.cxx 
b/toolkit/source/awt/vclxtopwindow.cxx
index 21386ae..48b593e 100644
--- a/toolkit/source/awt/vclxtopwindow.cxx
+++ b/toolkit/source/awt/vclxtopwindow.cxx
@@ -147,15 +147,16 @@ void VCLXTopWindow_Base::setMenuBar( const 
::com::sun::star::uno::Reference ::c
 {
 SolarMutexGuard aGuard;
 
-SystemWindow* pWindow = dynamic_castSystemWindow*( GetWindowImpl() );
+vcl::Window* pWindow = GetWindowImpl();
 if ( pWindow )
 {
-pWindow-SetMenuBar( NULL );
+SystemWindow* pSystemWindow = static_castSystemWindow*( pWindow );
+pSystemWindow-SetMenuBar( NULL );
 if ( rxMenu.is() )
 {
 VCLXMenu* pMenu = VCLXMenu::GetImplementation( rxMenu );
 if ( pMenu  !pMenu-IsPopupMenu() )
-pWindow-SetMenuBar( static_castMenuBar*( pMenu-GetMenu() 
));
+pSystemWindow-SetMenuBar( static_castMenuBar*( 
pMenu-GetMenu() ));
 }
 }
 mxMenuBar = rxMenu;
diff --git a/vcl/source/window/menufloatingwindow.cxx 
b/vcl/source/window/menufloatingwindow.cxx
index 7e93fe1..2e34bde 100644
--- a/vcl/source/window/menufloatingwindow.cxx
+++ b/vcl/source/window/menufloatingwindow.cxx
@@ -80,7 +80,7 @@ void MenuFloatingWindow::doShutdown()
 }
 if( i  nCount )
 {
-MenuFloatingWindow* pPWin = 
dynamic_castMenuFloatingWindow*(pMenu-pStartedFrom-ImplGetWindow());
+MenuFloatingWindow* pPWin = 
static_castMenuFloatingWindow*(pMenu-pStartedFrom-ImplGetWindow());
 if( pPWin )
 pPWin-HighlightItem( i, false );
 }
@@ -682,7 +682,7 @@ void MenuFloatingWindow::ChangeHighlightItem( sal_uInt16 n, 
bool bStartPopupTime
 }
 if( i  nCount )
 {
-MenuFloatingWindow* pPWin = 
dynamic_castMenuFloatingWindow*(pMenu-pStartedFrom-ImplGetWindow());
+MenuFloatingWindow* pPWin = 
static_castMenuFloatingWindow*(pMenu-pStartedFrom-ImplGetWindow());
 if( pPWin  pPWin-nHighlightedItem != i )
 {
 pPWin-HighlightItem( i, true );
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: toolkit/source vcl/source

2014-06-18 Thread Stephan Bergmann
 toolkit/source/awt/vclxtoolkit.cxx |4 
 vcl/source/helper/xconnection.cxx  |2 ++
 2 files changed, 6 insertions(+)

New commits:
commit 47088ac9a04bd7e5198e7a6c3160e0dbeeab
Author: Stephan Bergmann sberg...@redhat.com
Date:   Wed Jun 18 15:50:02 2014 +0200

Missing SolarMutexGuards

...as can be seen e.g. with CppunitTest_dbaccess_dialog_save:

vcl::DisplayConnection::start
Application::GetDisplayConnection
Window::GetDragSource
Window::GetDropTarget
(anonymous namespace)::VCLXToolkit::getDropTarget
(anonymous namespace)::Frame::implts_startWindowListening
(anonymous namespace)::Frame::initialize
(anonymous namespace)::TaskCreatorService::implts_createFrame
(anonymous namespace)::TaskCreatorService::createInstanceWithArguments
framework::TaskCreator::createTask
framework::Desktop::findFrame
framework::LoadEnv::impl_loadContent
framework::LoadEnv::startLoading
framework::LoadEnv::loadComponentFromURL
framework::Desktop::loadComponentFromURL
unotest::MacrosTest::loadFromDesktop
DialogSaveTest::test
...

Change-Id: I9523ea47cab23d1f23f73a37d2d44453aa7d56a3

diff --git a/toolkit/source/awt/vclxtoolkit.cxx 
b/toolkit/source/awt/vclxtoolkit.cxx
index 4b66356..88aa88f 100644
--- a/toolkit/source/awt/vclxtoolkit.cxx
+++ b/toolkit/source/awt/vclxtoolkit.cxx
@@ -1466,6 +1466,8 @@ css::uno::Reference css::awt::XWindowPeer  
VCLXToolkit::ImplCreateWindow(
 
 ::com::sun::star::uno::Reference 
::com::sun::star::datatransfer::dnd::XDragSource  SAL_CALL 
VCLXToolkit::getDragSource( const ::com::sun::star::uno::Reference 
::com::sun::star::awt::XWindow  window ) 
throw(::com::sun::star::uno::RuntimeException, std::exception)
 {
+SolarMutexGuard g;
+
 Window * pWindow = VCLUnoHelper::GetWindow( window );
 
 if( pWindow )
@@ -1476,6 +1478,8 @@ css::uno::Reference css::awt::XWindowPeer  
VCLXToolkit::ImplCreateWindow(
 
 ::com::sun::star::uno::Reference 
::com::sun::star::datatransfer::dnd::XDropTarget  SAL_CALL 
VCLXToolkit::getDropTarget( const ::com::sun::star::uno::Reference 
::com::sun::star::awt::XWindow  window ) 
throw(::com::sun::star::uno::RuntimeException, std::exception)
 {
+SolarMutexGuard g;
+
 Window * pWindow = VCLUnoHelper::GetWindow( window );
 
 if( pWindow )
diff --git a/vcl/source/helper/xconnection.cxx 
b/vcl/source/helper/xconnection.cxx
index 570bd71..6c86f83 100644
--- a/vcl/source/helper/xconnection.cxx
+++ b/vcl/source/helper/xconnection.cxx
@@ -49,12 +49,14 @@ DisplayConnection::~DisplayConnection()
 
 void DisplayConnection::start()
 {
+DBG_TESTSOLARMUTEX();
 ImplSVData* pSVData = ImplGetSVData();
 pSVData-mpDefInst-SetEventCallback( this );
 }
 
 void DisplayConnection::terminate()
 {
+DBG_TESTSOLARMUTEX();
 ImplSVData* pSVData = ImplGetSVData();
 
 if( pSVData )
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits