diff options
author | Ivo Hinkelmann <ihi@openoffice.org> | 2009-06-15 13:03:05 +0000 |
---|---|---|
committer | Ivo Hinkelmann <ihi@openoffice.org> | 2009-06-15 13:03:05 +0000 |
commit | 38dddedf06c27bde422e0387047852daa0d06cb7 (patch) | |
tree | a8ec630c90efeb3b24bdf91d6a996ca6c4ffddf7 | |
parent | e52566c36c2c57f067b5664c41f6941159d6e298 (diff) |
CWS-TOOLING: integrate CWS ooo311gsl02_DEV300
2009-05-25 16:07:55 +0200 pl r272260 : #b6843142# #i102226# do not acquire own mutex during outside UNO calls
2009-05-25 16:05:06 +0200 pl r272259 : #b6843142# #i102226# do not acquire solar mutex during UNO calls
-rw-r--r-- | dtrans/source/X11/X11_droptarget.cxx | 48 | ||||
-rw-r--r-- | dtrans/source/X11/X11_selection.cxx | 4 | ||||
-rw-r--r-- | vcl/unx/gtk/app/gtkdata.cxx | 4 |
3 files changed, 24 insertions, 32 deletions
diff --git a/dtrans/source/X11/X11_droptarget.cxx b/dtrans/source/X11/X11_droptarget.cxx index 501eff09ead8..4f71a0507790 100644 --- a/dtrans/source/X11/X11_droptarget.cxx +++ b/dtrans/source/X11/X11_droptarget.cxx @@ -143,15 +143,13 @@ void DropTarget::setDefaultActions( sal_Int8 actions ) throw() void DropTarget::drop( const DropTargetDropEvent& dtde ) throw() { - ::osl::Guard< ::osl::Mutex > aGuard( m_aMutex ); + osl::ClearableGuard< ::osl::Mutex > aGuard( m_aMutex ); + std::list< Reference< XDropTargetListener > > aListeners( m_aListeners ); + aGuard.clear(); - ::std::list< Reference< XDropTargetListener > >::iterator it1, it2; - it1 = m_aListeners.begin(); - while( it1 != m_aListeners.end() ) + for( std::list< Reference< XDropTargetListener > >::iterator it = aListeners.begin(); it!= aListeners.end(); ++it ) { - it2 = it1; - it1++; - (*it2)->drop( dtde ); + (*it)->drop( dtde ); } } @@ -159,15 +157,13 @@ void DropTarget::drop( const DropTargetDropEvent& dtde ) throw() void DropTarget::dragEnter( const DropTargetDragEnterEvent& dtde ) throw() { - ::osl::Guard< ::osl::Mutex > aGuard( m_aMutex ); + osl::ClearableGuard< ::osl::Mutex > aGuard( m_aMutex ); + std::list< Reference< XDropTargetListener > > aListeners( m_aListeners ); + aGuard.clear(); - ::std::list< Reference< XDropTargetListener > >::iterator it1, it2; - it1 = m_aListeners.begin(); - while( it1 != m_aListeners.end() ) + for( std::list< Reference< XDropTargetListener > >::iterator it = aListeners.begin(); it!= aListeners.end(); ++it ) { - it2 = it1; - it1++; - (*it2)->dragEnter( dtde ); + (*it)->dragEnter( dtde ); } } @@ -175,15 +171,13 @@ void DropTarget::dragEnter( const DropTargetDragEnterEvent& dtde ) throw() void DropTarget::dragExit( const DropTargetEvent& dte ) throw() { - ::osl::Guard< ::osl::Mutex > aGuard( m_aMutex ); + osl::ClearableGuard< ::osl::Mutex > aGuard( m_aMutex ); + std::list< Reference< XDropTargetListener > > aListeners( m_aListeners ); + aGuard.clear(); - ::std::list< Reference< XDropTargetListener > >::iterator it1, it2; - it1 = m_aListeners.begin(); - while( it1 != m_aListeners.end() ) + for( std::list< Reference< XDropTargetListener > >::iterator it = aListeners.begin(); it!= aListeners.end(); ++it ) { - it2 = it1; - it1++; - (*it2)->dragExit( dte ); + (*it)->dragExit( dte ); } } @@ -191,15 +185,13 @@ void DropTarget::dragExit( const DropTargetEvent& dte ) throw() void DropTarget::dragOver( const DropTargetDragEvent& dtde ) throw() { - ::osl::Guard< ::osl::Mutex > aGuard( m_aMutex ); + osl::ClearableGuard< ::osl::Mutex > aGuard( m_aMutex ); + std::list< Reference< XDropTargetListener > > aListeners( m_aListeners ); + aGuard.clear(); - ::std::list< Reference< XDropTargetListener > >::iterator it1, it2; - it1 = m_aListeners.begin(); - while( it1 != m_aListeners.end() ) + for( std::list< Reference< XDropTargetListener > >::iterator it = aListeners.begin(); it!= aListeners.end(); ++it ) { - it2 = it1; - it1++; - (*it2)->dragOver( dtde ); + (*it)->dragOver( dtde ); } } diff --git a/dtrans/source/X11/X11_selection.cxx b/dtrans/source/X11/X11_selection.cxx index 2a424984850a..affc92e98908 100644 --- a/dtrans/source/X11/X11_selection.cxx +++ b/dtrans/source/X11/X11_selection.cxx @@ -1117,7 +1117,7 @@ bool SelectionManager::getPasteData( Atom selection, const ::rtl::OUString& rTyp bSuccess = getPasteData( selection, m_nImageBmpAtom, rData ); #if OSL_DEBUG_LEVEL > 1 if( bSuccess ) - fprintf( stderr, "got %d bytes of image/bmp\n" ), (int)rData.getLength(); + fprintf( stderr, "got %d bytes of image/bmp\n", (int)rData.getLength() ); #endif if( ! bSuccess ) { @@ -1685,7 +1685,7 @@ bool SelectionManager::handleSelectionRequest( XSelectionRequestEvent& rRequest XA_INTEGER, 32, PropModeReplace, (const unsigned char*)&nTimeStamp, 1 ); aNotify.xselection.property = rRequest.property; #if OSL_DEBUG_LEVEL > 1 - fprintf( stderr, "sending timestamp: %d\n", nTimeStamp ); + fprintf( stderr, "sending timestamp: %d\n", (int)nTimeStamp ); #endif } else diff --git a/vcl/unx/gtk/app/gtkdata.cxx b/vcl/unx/gtk/app/gtkdata.cxx index bb08477e82e9..b55798608b37 100644 --- a/vcl/unx/gtk/app/gtkdata.cxx +++ b/vcl/unx/gtk/app/gtkdata.cxx @@ -138,8 +138,6 @@ GdkFilterReturn GtkSalDisplay::filterGdkEvent( GdkXEvent* sys_event, GdkEvent*, gpointer data ) { - GTK_YIELD_GRAB(); - GdkFilterReturn aFilterReturn = GDK_FILTER_CONTINUE; XEvent *pEvent = (XEvent *)sys_event; @@ -150,6 +148,8 @@ GdkFilterReturn GtkSalDisplay::filterGdkEvent( GdkXEvent* sys_event, CallEventCallback( pEvent, sizeof( XEvent ) ) ) aFilterReturn = GDK_FILTER_REMOVE; + GTK_YIELD_GRAB(); + if (pDisplay->GetDisplay() == pEvent->xany.display ) { // #i53471# gtk has no callback mechanism that lets us be notified |