diff options
Diffstat (limited to 'vcl')
-rwxr-xr-x | vcl/aqua/source/app/vclnsapp.mm | 3 | ||||
-rw-r--r-- | vcl/aqua/source/dtrans/aqua_clipboard.cxx | 30 | ||||
-rw-r--r-- | vcl/source/gdi/outdev.cxx | 6 |
3 files changed, 23 insertions, 16 deletions
diff --git a/vcl/aqua/source/app/vclnsapp.mm b/vcl/aqua/source/app/vclnsapp.mm index f33599fa086e..4264f8802126 100755 --- a/vcl/aqua/source/app/vclnsapp.mm +++ b/vcl/aqua/source/app/vclnsapp.mm @@ -39,6 +39,8 @@ #include "vcl/cmdevt.hxx" #include "rtl/ustrbuf.hxx" +#include "vcl/impimagetree.hxx" + #include "premac.h" #import "Carbon/Carbon.h" #import "apple_remote/RemoteControl.h" @@ -416,6 +418,7 @@ #else // the clean version follows return pSalData->maFrames.front()->CallCallback( SALEVENT_SHUTDOWN, NULL ) ? NSTerminateCancel : NSTerminateNow; #endif + ImplImageTreeSingletonRef()->shutDown(); return NSTerminateNow; } diff --git a/vcl/aqua/source/dtrans/aqua_clipboard.cxx b/vcl/aqua/source/dtrans/aqua_clipboard.cxx index 52fb13e1e11f..abffeebcb6c1 100644 --- a/vcl/aqua/source/dtrans/aqua_clipboard.cxx +++ b/vcl/aqua/source/dtrans/aqua_clipboard.cxx @@ -322,14 +322,17 @@ void AquaClipboard::fireLostClipboardOwnershipEvent(Reference<XClipboardOwner> o void AquaClipboard::provideDataForType(NSPasteboard* sender, NSString* type) { - DataProviderPtr_t dp = mpDataFlavorMapper->getDataProvider(type, mXClipboardContent); - NSData* pBoardData = NULL; - - if (dp.get() != NULL) - { - pBoardData = (NSData*)dp->getSystemData(); - [sender setData: pBoardData forType: type]; - } + if( mXClipboardContent.is() ) + { + DataProviderPtr_t dp = mpDataFlavorMapper->getDataProvider(type, mXClipboardContent); + NSData* pBoardData = NULL; + + if (dp.get() != NULL) + { + pBoardData = (NSData*)dp->getSystemData(); + [sender setData: pBoardData forType: type]; + } + } } @@ -340,20 +343,21 @@ void AquaClipboard::provideDataForType(NSPasteboard* sender, NSString* type) void SAL_CALL AquaClipboard::flushClipboard() throw(RuntimeException) { - if (mXClipboardContent.is()) + if (mXClipboardContent.is()) { Sequence<DataFlavor> flavorList = mXClipboardContent->getTransferDataFlavors(); sal_uInt32 nFlavors = flavorList.getLength(); for (sal_uInt32 i = 0; i < nFlavors; i++) - { + { NSString* sysType = mpDataFlavorMapper->openOfficeToSystemFlavor(flavorList[i]); if (sysType != NULL) - { + { provideDataForType(mPasteboard, sysType); - } - } + } + } + mXClipboardContent.clear(); } } diff --git a/vcl/source/gdi/outdev.cxx b/vcl/source/gdi/outdev.cxx index a011e4ee4a92..847a8d7a299a 100644 --- a/vcl/source/gdi/outdev.cxx +++ b/vcl/source/gdi/outdev.cxx @@ -2495,6 +2495,9 @@ void OutputDevice::DrawLine( const Point& rStartPt, const Point& rEndPt, const bool bDashUsed(LINE_DASH == aInfo.GetStyle()); const bool bLineWidthUsed(aInfo.GetWidth() > 1); + if ( mbInitLineColor ) + ImplInitLineColor(); + if(bDashUsed || bLineWidthUsed) { basegfx::B2DPolygon aLinePolygon; @@ -2505,9 +2508,6 @@ void OutputDevice::DrawLine( const Point& rStartPt, const Point& rEndPt, } else { - if ( mbInitLineColor ) - ImplInitLineColor(); - mpGraphics->DrawLine( aStartPt.X(), aStartPt.Y(), aEndPt.X(), aEndPt.Y(), this ); } |