[Libreoffice-commits] core.git: Branch 'ports/macosx10.5/master' - 4 commits - sal/osl solenv/gbuild vcl/inc vcl/osx

Douglas Mencken dougmencken at gmail.com
Sat Oct 25 08:07:25 PDT 2014


Rebased ref, commits from common ancestor:
commit 081f8b369aecf805c89d9b9e22f19b0864f1b9f1
Author: Douglas Mencken <dougmencken at gmail.com>
Date:   Sat Oct 25 11:05:30 2014 -0400

    Don't assume that /usr/bin/mktemp is always a BSD mktemp on OSX, add backup for GNU mktemp
    
    Change-Id: Ifb119dd13062593cba5aa3cb1dacc54194339544

diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk
index 52a0b5a..7ba21a9 100644
--- a/solenv/gbuild/platform/macosx.mk
+++ b/solenv/gbuild/platform/macosx.mk
@@ -24,8 +24,8 @@ gb_SDKDIR := $(MACOSX_SDK_PATH)
 
 include $(GBUILDDIR)/platform/com_GCC_defs.mk
 
-# Darwin mktemp -t expects a prefix, not a pattern
-gb_MKTEMP ?= /usr/bin/mktemp -t gbuild.
+# Note that BSD mktemp -t expects a prefix, not a pattern; if it fails, assume GNU syntax
+gb_MKTEMP ?= /usr/bin/mktemp -t gbuild. 2>/dev/null || mktemp -t gbuild.XXXXXX
 
 gb_OSDEFS := \
 	-D$(OS) \
commit 9296343089f9b934fcaf931415ba26fbf902e697
Author: Douglas Mencken <dougmencken at gmail.com>
Date:   Sat Oct 25 11:03:56 2014 -0400

    vcl/osx/salframe.cxx: move includes, objc_msgSend workaround
    
    Change-Id: I39886b4590f227ec69042fed0f5240ba0b0fd7f2

diff --git a/vcl/osx/salframe.cxx b/vcl/osx/salframe.cxx
index ce3e371..dacf9fe 100644
--- a/vcl/osx/salframe.cxx
+++ b/vcl/osx/salframe.cxx
@@ -37,11 +37,6 @@
 #include "osx/a11yfactory.h"
 #include "quartz/utils.h"
 
-#if MACOSX_SDK_VERSION < 1060
-#include "vcl/timer.hxx"
-#include "osx/saltimer.h"
-#endif
-
 #include "salwtype.hxx"
 
 #include "premac.h"
@@ -54,6 +49,11 @@
 #include <Carbon/Carbon.h>
 #include "postmac.h"
 
+#if MACOSX_SDK_VERSION < 1060
+#include "vcl/timer.hxx"
+#include "osx/saltimer.h"
+#endif
+
 using namespace std;
 
 AquaSalFrame* AquaSalFrame::s_pCaptureFrame = NULL;
@@ -201,16 +201,16 @@ void AquaSalFrame::initWindowAndView()
         [mpNSWindow setAcceptsMouseMovedEvents: YES];
     [mpNSWindow setHasShadow: YES];
 
-#if MACOSX_SDK_VERSION < 1060
-    objc_msgSend(mpNSWindow, @selector(setDelegate:), mpNSWindow);
-#else
+#if MACOSX_SDK_VERSION >= 1070
+    /* objc_msgSend(mpNSWindow, @selector(setDelegate:), mpNSWindow); */
     [mpNSWindow setDelegate: static_cast<id<NSWindowDelegate> >(mpNSWindow)];
-#endif
 
     if( [mpNSWindow respondsToSelector: @selector(setRestorable:)])
     {
         objc_msgSend(mpNSWindow, @selector(setRestorable:), NO);
     }
+#endif
+
     const NSRect aRect = { NSZeroPoint, NSMakeSize( maGeometry.nWidth, maGeometry.nHeight )};
     mnTrackingRectTag = [mpNSView addTrackingRect: aRect owner: mpNSView userData: nil assumeInside: NO];
 
commit 83a6b3923f63d63f9f415df5bfe36f1edce4d097
Author: Douglas Mencken <dougmencken at gmail.com>
Date:   Wed Oct 8 10:38:28 2014 -0400

    Use GNU objc ABI/runtime instead of NeXT ABI/runtime when compiler is GCC
    
    also,
      + fix "cannot find interface declaration for NXConstantString"
      + include <objc/objc-api.h> when OBJC_EXPORT is not defined
    
    Change-Id: I5f0df322435be8244d372642dee1c21d783306f1

diff --git a/sal/osl/unx/system.h b/sal/osl/unx/system.h
index d952518..143a1bd 100644
--- a/sal/osl/unx/system.h
+++ b/sal/osl/unx/system.h
@@ -215,6 +215,9 @@
 #ifdef MACOSX
 #define __OPENTRANSPORTPROVIDERS__ // these are already defined
 #define TimeValue CFTimeValue      // Do not conflict with TimeValue in sal/inc/osl/time.h
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
 #include <Carbon/Carbon.h>
 #undef TimeValue
 #   ifndef ETIME
diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk
index 185fb26..52a0b5a 100644
--- a/solenv/gbuild/platform/macosx.mk
+++ b/solenv/gbuild/platform/macosx.mk
@@ -59,9 +59,21 @@ gb_CXXFLAGS := \
 
 # these are to get g++ to switch to Objective-C++ mode
 # (see toolkit module for a case where it is necessary to do it this way)
-gb_OBJCXXFLAGS := -x objective-c++ -fobjc-exceptions
-
-gb_OBJCFLAGS := -x objective-c -fobjc-exceptions
+gb_OBJCXXFLAGS := \
+	-x objective-c++ \
+	-fobjc-exceptions \
+	$(if $(filter TRUE,$(COM_GCC_IS_CLANG)),,\
+		-fgnu-runtime \
+		-fconstant-string-class=NSConstantString \
+	)
+
+gb_OBJCFLAGS := \
+	-x objective-c \
+	-fobjc-exceptions \
+	$(if $(filter TRUE,$(COM_GCC_IS_CLANG)),,\
+		-fgnu-runtime \
+		-fconstant-string-class=NSConstantString \
+	)
 
 # LinkTarget class
 
diff --git a/vcl/inc/osx/a11yfactory.h b/vcl/inc/osx/a11yfactory.h
index c739f3e..4e92126 100644
--- a/vcl/inc/osx/a11yfactory.h
+++ b/vcl/inc/osx/a11yfactory.h
@@ -20,6 +20,10 @@
 #ifndef INCLUDED_VCL_INC_OSX_A11YFACTORY_H
 #define INCLUDED_VCL_INC_OSX_A11YFACTORY_H
 
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
+
 #include "osxvcltypes.h"
 #include "a11ywrapper.h"
 #include <com/sun/star/accessibility/XAccessibleContext.hpp>
diff --git a/vcl/inc/osx/osxvcltypes.h b/vcl/inc/osx/osxvcltypes.h
index f1659c4..96edccc 100644
--- a/vcl/inc/osx/osxvcltypes.h
+++ b/vcl/inc/osx/osxvcltypes.h
@@ -21,6 +21,9 @@
 #define INCLUDED_VCL_INC_OSX_OSXVCLTYPES_H
 
 #include "premac.h"
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
 #import <Cocoa/Cocoa.h>
 #import <AppKit/NSEvent.h>
 #include "postmac.h"
diff --git a/vcl/inc/osx/printview.h b/vcl/inc/osx/printview.h
index e396bd8..b63900b 100644
--- a/vcl/inc/osx/printview.h
+++ b/vcl/inc/osx/printview.h
@@ -21,6 +21,9 @@
 #define INCLUDED_VCL_INC_OSX_PRINTVIEW_H
 
 #include "premac.h"
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
 #include <Cocoa/Cocoa.h>
 #include "postmac.h"
 
diff --git a/vcl/inc/osx/saldata.hxx b/vcl/inc/osx/saldata.hxx
index 413754b..1665b06 100644
--- a/vcl/inc/osx/saldata.hxx
+++ b/vcl/inc/osx/saldata.hxx
@@ -23,6 +23,9 @@
 #include <config_features.h>
 
 #include "premac.h"
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
 #include <Cocoa/Cocoa.h>
 #include "postmac.h"
 
diff --git a/vcl/inc/osx/salinst.h b/vcl/inc/osx/salinst.h
index 8a88a26..4efcbe0 100644
--- a/vcl/inc/osx/salinst.h
+++ b/vcl/inc/osx/salinst.h
@@ -25,6 +25,9 @@
 #include "osl/conditn.h"
 
 #ifdef MACOSX
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
 #include "osx/osxvcltypes.h"
 #endif
 
diff --git a/vcl/inc/osx/saltimer.h b/vcl/inc/osx/saltimer.h
index b751a81..e663c65 100644
--- a/vcl/inc/osx/saltimer.h
+++ b/vcl/inc/osx/saltimer.h
@@ -21,6 +21,9 @@
 #define INCLUDED_VCL_INC_OSX_SALTIMER_H
 
 #include "premac.h"
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
 #include <Cocoa/Cocoa.h>
 #include "postmac.h"
 
diff --git a/vcl/inc/osx/vclnsapp.h b/vcl/inc/osx/vclnsapp.h
index 541b509..675cacc 100644
--- a/vcl/inc/osx/vclnsapp.h
+++ b/vcl/inc/osx/vclnsapp.h
@@ -23,6 +23,9 @@
 #include <config_features.h>
 
 #include "premac.h"
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
 #include "Cocoa/Cocoa.h"
 #include "postmac.h"
 
diff --git a/vcl/inc/quartz/utils.h b/vcl/inc/quartz/utils.h
index e408250..ac264ec 100644
--- a/vcl/inc/quartz/utils.h
+++ b/vcl/inc/quartz/utils.h
@@ -23,6 +23,9 @@
 #include <iostream>
 
 #include <premac.h>
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
 #include <CoreFoundation/CoreFoundation.h>
 #include <Foundation/Foundation.h>
 #ifdef MACOSX
diff --git a/vcl/osx/DataFlavorMapping.cxx b/vcl/osx/DataFlavorMapping.cxx
index 33bd19b..429330c 100644
--- a/vcl/osx/DataFlavorMapping.cxx
+++ b/vcl/osx/DataFlavorMapping.cxx
@@ -36,6 +36,9 @@
 #include <string.h>
 
 #include <premac.h>
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
 #include <Cocoa/Cocoa.h>
 #include <postmac.h>
 
diff --git a/vcl/osx/DataFlavorMapping.hxx b/vcl/osx/DataFlavorMapping.hxx
index a3cff1c..31f4eb5 100644
--- a/vcl/osx/DataFlavorMapping.hxx
+++ b/vcl/osx/DataFlavorMapping.hxx
@@ -26,6 +26,9 @@
 #include <com/sun/star/lang/XMultiComponentFactory.hpp>
 
 #include <premac.h>
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
 #import <Cocoa/Cocoa.h>
 #include <postmac.h>
 
diff --git a/vcl/osx/DragActionConversion.hxx b/vcl/osx/DragActionConversion.hxx
index fbb5ea3..b77047d 100644
--- a/vcl/osx/DragActionConversion.hxx
+++ b/vcl/osx/DragActionConversion.hxx
@@ -23,6 +23,9 @@
 #include <sal/types.h>
 
 #include <premac.h>
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
 #import <Cocoa/Cocoa.h>
 #include <postmac.h>
 
diff --git a/vcl/osx/DragSource.hxx b/vcl/osx/DragSource.hxx
index 491716d..403ed51 100644
--- a/vcl/osx/DragSource.hxx
+++ b/vcl/osx/DragSource.hxx
@@ -33,6 +33,9 @@
 #include <boost/utility.hpp>
 
 #include <premac.h>
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
 #import <Cocoa/Cocoa.h>
 #include <postmac.h>
 
diff --git a/vcl/osx/PictToBmpFlt.cxx b/vcl/osx/PictToBmpFlt.cxx
index 77c67a6..097050e 100644
--- a/vcl/osx/PictToBmpFlt.cxx
+++ b/vcl/osx/PictToBmpFlt.cxx
@@ -18,6 +18,9 @@
  */
 
 #include <premac.h>
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
 #include <Carbon/Carbon.h>
 #include <QuickTime/QuickTime.h>
 #include <postmac.h>
diff --git a/vcl/osx/salframe.cxx b/vcl/osx/salframe.cxx
index eab873c..ce3e371 100644
--- a/vcl/osx/salframe.cxx
+++ b/vcl/osx/salframe.cxx
@@ -45,6 +45,9 @@
 #include "salwtype.hxx"
 
 #include "premac.h"
+#ifndef OBJC_EXPORT
+#include <objc/objc-api.h>
+#endif
 #include <objc/objc-runtime.h>
 // needed for theming
 // FIXME: move theming code to salnativewidgets.cxx
commit b631ab1e09f58d1d9ee80cd54c643a03960f38fd
Author: Douglas Mencken <dougmencken at gmail.com>
Date:   Sat Oct 25 10:02:42 2014 -0400

    vcl/osx: restore some pre-10.8 conditional code
    
    related commits:
        ec147012340219c8bb5eaf8fe3d41be7836bc261
        16996c6b91b53e3c7d316296833bdb8a9cb60c22
    
    Change-Id: Ie8962f8d26f163eed91fdf6b137b0d9830183dd2

diff --git a/vcl/osx/salframe.cxx b/vcl/osx/salframe.cxx
index b9a7ac1..eab873c 100644
--- a/vcl/osx/salframe.cxx
+++ b/vcl/osx/salframe.cxx
@@ -1246,7 +1246,12 @@ void AquaSalFrame::UpdateSettings( AllSettings& rSettings )
     getAppleScrollBarVariant(aStyleSettings);
 
     // set scrollbar size
+#if MACOSX_SDK_VERSION >= 1070
     aStyleSettings.SetScrollBarSize( static_cast<long int>([NSScroller scrollerWidthForControlSize:NSRegularControlSize scrollerStyle:NSScrollerStyleLegacy]) );
+#else
+    aStyleSettings.SetScrollBarSize( static_cast<long int>([NSScroller scrollerWidth]) );
+#endif
+
     // images in menus false for MacOSX
     aStyleSettings.SetPreferredUseImagesInMenus( false );
     aStyleSettings.SetHideDisabledMenuItems( true );
diff --git a/vcl/osx/salmenu.cxx b/vcl/osx/salmenu.cxx
index 87d824f..32ce46b 100644
--- a/vcl/osx/salmenu.cxx
+++ b/vcl/osx/salmenu.cxx
@@ -880,7 +880,12 @@ Rectangle AquaSalMenu::GetMenuBarButtonRectPixel( sal_uInt16 i_nItemId, SalFrame
     if( ! pNSWin )
         return Rectangle();
 
+#if MACOSX_SDK_VERSION >= 1070
     NSRect aRect = [pNSWin convertRectToScreen:[pNSWin frame]];
+#else
+    NSRect aRect = [pNSWin frame];
+    aRect.origin = [pNSWin convertBaseToScreen: NSMakePoint( 0, 0 )];
+#endif
 
     // make coordinates relative to reference frame
     static_cast<AquaSalFrame*>(i_pReferenceFrame)->CocoaToVCL( aRect.origin );


More information about the Libreoffice-commits mailing list