You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by hd...@apache.org on 2013/12/12 14:37:51 UTC

svn commit: r1550416 - in /openoffice/trunk/main/vcl/aqua/source/dtrans: DataFlavorMapping.cxx DataFlavorMapping.hxx aqua_clipboard.cxx aqua_clipboard.hxx

Author: hdu
Date: Thu Dec 12 13:37:51 2013
New Revision: 1550416

URL: http://svn.apache.org/r1550416
Log:
#i123841# fix constness issues in OSX 64bit clipboard handling

Modified:
    openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.cxx
    openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.hxx
    openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.cxx
    openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.hxx

Modified: openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.cxx?rev=1550416&r1=1550415&r2=1550416&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.cxx (original)
+++ openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.cxx Thu Dec 12 13:37:51 2013
@@ -64,7 +64,7 @@ namespace // private
 
   typedef vector<sal_Unicode> UnicodeBuffer;
 
-  OUString NSStringToOUString(NSString* cfString)
+  OUString NSStringToOUString( const NSString* cfString)
   {
 	BOOST_ASSERT(cfString && "Invalid parameter");
 
@@ -113,7 +113,7 @@ namespace // private
 
   struct FlavorMap
   {
-	NSString* SystemFlavor;
+	const NSString* SystemFlavor;
 	const char* OOoFlavor;
 	const char* HumanPresentableName;
 	Type DataType;
@@ -121,7 +121,7 @@ namespace // private
 
   /* At the moment it appears as if only MS Office pastes "public.html" to the clipboard. 
    */
-  FlavorMap flavorMap[] =
+  static const FlavorMap flavorMap[] =
 	{
 	  { NSStringPboardType, "text/plain;charset=utf-16", "Unicode Text (UTF-16)", CPPUTYPE_OUSTRING },
 	  { NSRTFPboardType, "text/richtext", "Rich Text Format", CPPUTYPE_SEQINT8 },
@@ -521,13 +521,13 @@ DataFlavorMapper::~DataFlavorMapper()
     }    
 }
 
-DataFlavor DataFlavorMapper::systemToOpenOfficeFlavor(NSString* systemDataFlavor) const
+DataFlavor DataFlavorMapper::systemToOpenOfficeFlavor( const NSString* systemDataFlavor) const
 {
   DataFlavor oOOFlavor;
 
   for (size_t i = 0; i < SIZE_FLAVOR_MAP; i++)
 	{
-	  if ([systemDataFlavor caseInsensitiveCompare: flavorMap[i].SystemFlavor] == NSOrderedSame)
+	  if ([systemDataFlavor caseInsensitiveCompare:const_cast<NSString*>(flavorMap[i].SystemFlavor)] == NSOrderedSame)
 		{
 		  oOOFlavor.MimeType = OUString::createFromAscii( flavorMap[i].OOoFlavor);
 		  oOOFlavor.HumanPresentableName = OUString::createFromAscii( flavorMap[i].HumanPresentableName);
@@ -549,9 +549,10 @@ DataFlavor DataFlavorMapper::systemToOpe
 	return oOOFlavor;
 }
 
-NSString* DataFlavorMapper::openOfficeToSystemFlavor(const DataFlavor& oOOFlavor, bool& rbInternal) const
+const NSString* DataFlavorMapper::openOfficeToSystemFlavor( const DataFlavor& oOOFlavor, bool& rbInternal) const
 {
-    NSString* sysFlavor = NULL;
+    const NSString* sysFlavor = NULL;
+    rbInternal = false;
     rbInternal = false;
     
 	for( size_t i = 0; i < SIZE_FLAVOR_MAP; ++i )
@@ -583,7 +584,7 @@ NSString* DataFlavorMapper::openOfficeIm
     return sysFlavor;
 }
 
-DataProviderPtr_t DataFlavorMapper::getDataProvider(NSString* systemFlavor, Reference<XTransferable> rTransferable) const
+DataProviderPtr_t DataFlavorMapper::getDataProvider( const NSString* systemFlavor, Reference<XTransferable> rTransferable) const
 {
   DataProviderPtr_t dp;
 
@@ -639,12 +640,12 @@ DataProviderPtr_t DataFlavorMapper::getD
   return dp;
 }
 
-DataProviderPtr_t DataFlavorMapper::getDataProvider(const NSString* /*systemFlavor*/, NSArray* systemData) const
+DataProviderPtr_t DataFlavorMapper::getDataProvider( const NSString* /*systemFlavor*/, NSArray* systemData) const
 {
   return DataProviderPtr_t(new FileListDataProvider(systemData));
 }
 
-DataProviderPtr_t DataFlavorMapper::getDataProvider(const NSString* systemFlavor, NSData* systemData) const
+DataProviderPtr_t DataFlavorMapper::getDataProvider( const NSString* systemFlavor, NSData* systemData) const
 {
   DataProviderPtr_t dp;
 
@@ -708,7 +709,7 @@ NSArray* DataFlavorMapper::flavorSequenc
       }
       else
       {
-          NSString* str = openOfficeToSystemFlavor(flavors[i], bNeedDummyInternalFlavor);
+          const NSString* str = openOfficeToSystemFlavor(flavors[i], bNeedDummyInternalFlavor);
           
           if (str != NULL)
           {

Modified: openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.hxx?rev=1550416&r1=1550415&r2=1550416&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.hxx (original)
+++ openoffice/trunk/main/vcl/aqua/source/dtrans/DataFlavorMapping.hxx Thu Dec 12 13:37:51 2013
@@ -78,14 +78,14 @@ public:
 	 mapping from a system data flavor to a OpenOffice data
 	 flavor.
   */
-  com::sun::star::datatransfer::DataFlavor systemToOpenOfficeFlavor(NSString* systemDataFlavor) const;
+  com::sun::star::datatransfer::DataFlavor systemToOpenOfficeFlavor( const NSString* systemDataFlavor) const;
 
 
   /* Map an OpenOffice data flavor to a system data flavor.
 	 If there is no suiteable mapping available NULL will
 	 be returned.
   */
-  NSString* openOfficeToSystemFlavor(const com::sun::star::datatransfer::DataFlavor& oooDataFlavor, bool& rbInternal) const;
+  const NSString* openOfficeToSystemFlavor(const com::sun::star::datatransfer::DataFlavor& oooDataFlavor, bool& rbInternal) const;
 
   /* Select the best available image data type
 	 If there is no suiteable mapping available NULL will
@@ -96,19 +96,19 @@ public:
   /* Get a data provider which is able to provide the data 'rTransferable' offers in a format that can
 	 be put on to the system clipboard.
    */
-  DataProviderPtr_t getDataProvider(NSString* systemFlavor, 
+  DataProviderPtr_t getDataProvider( const NSString* systemFlavor, 
 									const com::sun::star::uno::Reference< com::sun::star::datatransfer::XTransferable > rTransferable) const;
 
   
   
   /* Get a data provider which is able to provide 'systemData' in the OOo expected format.
    */
-  DataProviderPtr_t getDataProvider(const NSString* systemFlavor, NSArray* systemData) const;
+  DataProviderPtr_t getDataProvider( const NSString* systemFlavor, NSArray* systemData) const;
 
 
   /* Get a data provider which is able to provide 'systemData' in the OOo expected format.
    */
-  DataProviderPtr_t getDataProvider(const NSString* systemFlavor, NSData* systemData) const;
+  DataProviderPtr_t getDataProvider( const NSString* systemFlavor, NSData* systemData) const;
 
 
   /* Translate a sequence of DataFlavors into a NSArray of system types.
@@ -125,7 +125,7 @@ public:
 
   /* Returns an NSArray containing all pasteboard types supported by OOo
    */
-  NSArray* DataFlavorMapper::getAllSupportedPboardTypes() const;
+  NSArray* getAllSupportedPboardTypes() const;
 
 private:
   /* Determines if the provided Mime content type is valid.
@@ -140,4 +140,5 @@ private:
 
 typedef boost::shared_ptr<DataFlavorMapper> DataFlavorMapperPtr_t;
 
-#endif 
+#endif
+ 

Modified: openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.cxx?rev=1550416&r1=1550415&r2=1550416&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.cxx (original)
+++ openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.cxx Thu Dec 12 13:37:51 2013
@@ -57,7 +57,7 @@ using namespace comphelper;
     return self;
 }
 
--(void)pasteboard:(NSPasteboard*)sender provideDataForType:(NSString*)type
+-(void)pasteboard:(NSPasteboard*)sender provideDataForType:(const NSString*)type
 {
     if( pAquaClipboard )
         pAquaClipboard->provideDataForType(sender, type);
@@ -316,7 +316,7 @@ void AquaClipboard::fireLostClipboardOwn
 }
 
 
-void AquaClipboard::provideDataForType(NSPasteboard* sender, NSString* type)
+void AquaClipboard::provideDataForType(NSPasteboard* sender, const NSString* type)
 {
     if( mXClipboardContent.is() )
     {
@@ -326,7 +326,7 @@ void AquaClipboard::provideDataForType(N
         if (dp.get() != NULL)
         {
             pBoardData = (NSData*)dp->getSystemData();      
-            [sender setData: pBoardData forType: type];
+            [sender setData: pBoardData forType:const_cast<NSString*>(type)];
         }
     }
 }
@@ -347,8 +347,8 @@ void SAL_CALL AquaClipboard::flushClipbo
 
 		for (sal_uInt32 i = 0; i < nFlavors; i++)
 		{
-			NSString* sysType = mpDataFlavorMapper->openOfficeToSystemFlavor(flavorList[i], bInternal);
-			
+			const NSString* sysType = mpDataFlavorMapper->openOfficeToSystemFlavor(flavorList[i], bInternal);
+
 			if (sysType != NULL)
 			{
 				provideDataForType(mPasteboard, sysType);

Modified: openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.hxx?rev=1550416&r1=1550415&r2=1550416&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.hxx (original)
+++ openoffice/trunk/main/vcl/aqua/source/dtrans/aqua_clipboard.hxx Thu Dec 12 13:37:51 2013
@@ -58,7 +58,7 @@ class AquaClipboard;
 - (EventListener*)initWithAquaClipboard: (AquaClipboard*) pcb;
 
 // Promiss resolver function
-- (void)pasteboard:(NSPasteboard*)sender provideDataForType:(NSString *)type;
+- (void)pasteboard:(NSPasteboard*)sender provideDataForType:(const NSString *)type;
 
 -(void)applicationDidBecomeActive:(NSNotification*)aNotification;
 
@@ -151,7 +151,7 @@ public:
 
   void pasteboardChangedOwner();
 
-  void provideDataForType(NSPasteboard* sender, NSString* type);
+  void provideDataForType(NSPasteboard* sender, const NSString* type);
 
   void applicationDidBecomeActive(NSNotification* aNotification);