[Libreoffice-commits] core.git: vcl/osx

Herbert Dürr hdu at apache.org
Thu Dec 12 07:24:34 PST 2013


 vcl/osx/DataFlavorMapping.cxx |   23 ++++++++++++-----------
 vcl/osx/DataFlavorMapping.hxx |   10 +++++-----
 vcl/osx/clipboard.cxx         |    8 ++++----
 vcl/osx/clipboard.hxx         |    4 ++--
 4 files changed, 23 insertions(+), 22 deletions(-)

New commits:
commit 4b9bbe7b8f45bc6d985aad48d056bf9242704ad4
Author: Herbert Dürr <hdu at apache.org>
Date:   Thu Dec 12 13:37:51 2013 +0000

    Resolves: #i123841# fix constness issues in OSX 64bit clipboard handling
    
    (cherry picked from commit 0801e9b488660e792a09d12717da951d224b26e0)
    
    Conflicts:
    	vcl/aqua/source/dtrans/DataFlavorMapping.cxx
    	vcl/aqua/source/dtrans/DataFlavorMapping.hxx
    	vcl/aqua/source/dtrans/aqua_clipboard.cxx
    	vcl/aqua/source/dtrans/aqua_clipboard.hxx
    
    Change-Id: Ifaf90c9aafcc22dd93923250d2342346806f9e88

diff --git a/vcl/osx/DataFlavorMapping.cxx b/vcl/osx/DataFlavorMapping.cxx
index c5a79b3..4590e97 100644
--- a/vcl/osx/DataFlavorMapping.cxx
+++ b/vcl/osx/DataFlavorMapping.cxx
@@ -56,7 +56,7 @@ namespace // private
     return ((len > 0) && ((dtype == getCppuType((Sequence<sal_Int8>*)0)) || (dtype == getCppuType( (OUString*)0 ))));
   }
 
-  OUString NSStringToOUString(NSString* cfString)
+  OUString NSStringToOUString( const NSString* cfString)
   {
     BOOST_ASSERT(cfString && "Invalid parameter");
 
@@ -101,7 +101,7 @@ namespace // private
 
   struct FlavorMap
   {
-    NSString* SystemFlavor;
+    const NSString* SystemFlavor;
     const char* OOoFlavor;
     const char* HumanPresentableName;
     bool DataTypeOUString; // sequence<byte> otherwise
@@ -109,7 +109,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)", true },
       { NSRTFPboardType, "text/richtext", "Rich Text Format", false },
@@ -504,13 +504,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);
@@ -532,9 +532,10 @@ DataFlavor DataFlavorMapper::systemToOpenOfficeFlavor(NSString* systemDataFlavor
     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 )
@@ -566,7 +567,7 @@ NSString* DataFlavorMapper::openOfficeImageToSystemFlavor(NSPasteboard* pPastebo
     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;
 
@@ -620,12 +621,12 @@ DataProviderPtr_t DataFlavorMapper::getDataProvider(NSString* systemFlavor, Refe
   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;
 
@@ -684,7 +685,7 @@ NSArray* DataFlavorMapper::flavorSequenceToTypesArray(const com::sun::star::uno:
       }
       else
       {
-          NSString* str = openOfficeToSystemFlavor(flavors[i], bNeedDummyInternalFlavor);
+          const NSString* str = openOfficeToSystemFlavor(flavors[i], bNeedDummyInternalFlavor);
 
           if (str != NULL)
           {
diff --git a/vcl/osx/DataFlavorMapping.hxx b/vcl/osx/DataFlavorMapping.hxx
index 70f7736..a80bd41 100644
--- a/vcl/osx/DataFlavorMapping.hxx
+++ b/vcl/osx/DataFlavorMapping.hxx
@@ -74,14 +74,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
@@ -92,19 +92,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.
diff --git a/vcl/osx/clipboard.cxx b/vcl/osx/clipboard.cxx
index 72feefe..353fc4e 100644
--- a/vcl/osx/clipboard.cxx
+++ b/vcl/osx/clipboard.cxx
@@ -49,7 +49,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);
@@ -299,7 +299,7 @@ void AquaClipboard::fireLostClipboardOwnershipEvent(Reference<XClipboardOwner> o
 }
 
 
-void AquaClipboard::provideDataForType(NSPasteboard* sender, NSString* type)
+void AquaClipboard::provideDataForType(NSPasteboard* sender, const NSString* type)
 {
     if( mXClipboardContent.is() )
     {
@@ -309,7 +309,7 @@ void AquaClipboard::provideDataForType(NSPasteboard* sender, NSString* type)
         if (dp.get() != NULL)
         {
             pBoardData = (NSData*)dp->getSystemData();
-            [sender setData: pBoardData forType: type];
+            [sender setData: pBoardData forType:const_cast<NSString*>(type)];
         }
     }
 }
@@ -330,7 +330,7 @@ void SAL_CALL AquaClipboard::flushClipboard()
 
         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)
             {
diff --git a/vcl/osx/clipboard.hxx b/vcl/osx/clipboard.hxx
index 1424e34..be63694 100644
--- a/vcl/osx/clipboard.hxx
+++ b/vcl/osx/clipboard.hxx
@@ -55,7 +55,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;
 
@@ -147,7 +147,7 @@ public:
 
   void pasteboardChangedOwner();
 
-  void provideDataForType(NSPasteboard* sender, NSString* type);
+  void provideDataForType(NSPasteboard* sender, const NSString* type);
 
   void applicationDidBecomeActive(NSNotification* aNotification);
 


More information about the Libreoffice-commits mailing list