Merge branch 'osx-warnings'
Fix a few warnings with Xcode 10 and start using __builtin_available for macOS version checks. See https://github.com/wxWidgets/wxWidgets/pull/1299
This commit is contained in:
@@ -149,8 +149,8 @@ public:
|
||||
bool CreateScaled(int logwidth, int logheight, int depth, double logicalScale) wxOVERRIDE;
|
||||
|
||||
// virtual bool Create( WXHICON icon) ;
|
||||
virtual bool LoadFile(const wxString& name, wxBitmapType type = wxBITMAP_DEFAULT_TYPE);
|
||||
virtual bool SaveFile(const wxString& name, wxBitmapType type, const wxPalette *cmap = NULL) const;
|
||||
virtual bool LoadFile(const wxString& name, wxBitmapType type = wxBITMAP_DEFAULT_TYPE) wxOVERRIDE;
|
||||
virtual bool SaveFile(const wxString& name, wxBitmapType type, const wxPalette *cmap = NULL) const wxOVERRIDE;
|
||||
|
||||
const wxBitmapRefData *GetBitmapData() const
|
||||
{ return (const wxBitmapRefData *)m_refData; }
|
||||
|
@@ -148,13 +148,21 @@ public :
|
||||
virtual bool SetupCursor(NSEvent* event);
|
||||
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_10
|
||||
virtual void PanGestureEvent(NSPanGestureRecognizer *panGestureRecognizer);
|
||||
virtual void ZoomGestureEvent(NSMagnificationGestureRecognizer *magnificationGestureRecognizer);
|
||||
virtual void RotateGestureEvent(NSRotationGestureRecognizer *rotationGestureRecognizer);
|
||||
virtual void LongPressEvent(NSPressGestureRecognizer *pressGestureRecognizer);
|
||||
virtual void TouchesBegan(NSEvent *event);
|
||||
virtual void TouchesMoved(NSEvent *event);
|
||||
virtual void TouchesEnded(NSEvent *event);
|
||||
#ifdef API_AVAILABLE
|
||||
#define WX_AVAILABLE_10_10 API_AVAILABLE(macos(10.10))
|
||||
#else
|
||||
#define WX_AVAILABLE_10_10
|
||||
#endif
|
||||
|
||||
WX_AVAILABLE_10_10 virtual void PanGestureEvent(NSPanGestureRecognizer *panGestureRecognizer);
|
||||
WX_AVAILABLE_10_10 virtual void ZoomGestureEvent(NSMagnificationGestureRecognizer *magnificationGestureRecognizer);
|
||||
WX_AVAILABLE_10_10 virtual void RotateGestureEvent(NSRotationGestureRecognizer *rotationGestureRecognizer);
|
||||
WX_AVAILABLE_10_10 virtual void LongPressEvent(NSPressGestureRecognizer *pressGestureRecognizer);
|
||||
WX_AVAILABLE_10_10 virtual void TouchesBegan(NSEvent *event);
|
||||
WX_AVAILABLE_10_10 virtual void TouchesMoved(NSEvent *event);
|
||||
WX_AVAILABLE_10_10 virtual void TouchesEnded(NSEvent *event);
|
||||
|
||||
#undef WX_AVAILABLE_10_10
|
||||
#endif // MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_10
|
||||
|
||||
#if !wxOSX_USE_NATIVE_FLIPPED
|
||||
|
@@ -320,8 +320,8 @@ public:
|
||||
m_encoding = encoding ;
|
||||
}
|
||||
|
||||
virtual size_t ToWChar(wchar_t * dst, size_t dstSize, const char * src, size_t srcSize = wxNO_LEN) const;
|
||||
virtual size_t FromWChar(char *dst, size_t dstSize, const wchar_t *src, size_t srcSize = wxNO_LEN) const;
|
||||
virtual size_t ToWChar(wchar_t * dst, size_t dstSize, const char * src, size_t srcSize = wxNO_LEN) const wxOVERRIDE;
|
||||
virtual size_t FromWChar(char *dst, size_t dstSize, const wchar_t *src, size_t srcSize = wxNO_LEN) const wxOVERRIDE;
|
||||
|
||||
virtual wxMBConv *Clone() const wxOVERRIDE { return new wxMBConv_cf(*this); }
|
||||
|
||||
|
@@ -83,7 +83,7 @@ protected:
|
||||
// not supported for file dialog, RR
|
||||
virtual void DoSetSize(int WXUNUSED(x), int WXUNUSED(y),
|
||||
int WXUNUSED(width), int WXUNUSED(height),
|
||||
int WXUNUSED(sizeFlags) = wxSIZE_AUTO) {}
|
||||
int WXUNUSED(sizeFlags) = wxSIZE_AUTO) wxOVERRIDE {}
|
||||
|
||||
void SetupExtraControls(WXWindow nativeWindow);
|
||||
|
||||
|
@@ -39,8 +39,8 @@ public:
|
||||
// override base class virtuals
|
||||
virtual void SetItemLabel(const wxString& strName) wxOVERRIDE;
|
||||
|
||||
virtual void Enable(bool bDoEnable = true);
|
||||
virtual void Check(bool bDoCheck = true);
|
||||
virtual void Enable(bool bDoEnable = true) wxOVERRIDE;
|
||||
virtual void Check(bool bDoCheck = true) wxOVERRIDE;
|
||||
|
||||
virtual void SetBitmap(const wxBitmap& bitmap) ;
|
||||
virtual const wxBitmap& GetBitmap() const { return m_bitmap; }
|
||||
|
@@ -36,7 +36,7 @@ protected:
|
||||
// not supported for message dialog
|
||||
virtual void DoSetSize(int WXUNUSED(x), int WXUNUSED(y),
|
||||
int WXUNUSED(width), int WXUNUSED(height),
|
||||
int WXUNUSED(sizeFlags) = wxSIZE_AUTO) {}
|
||||
int WXUNUSED(sizeFlags) = wxSIZE_AUTO) wxOVERRIDE {}
|
||||
|
||||
#if wxOSX_USE_COCOA
|
||||
void* ConstructNSAlert();
|
||||
|
34
include/wx/osx/private/available.h
Normal file
34
include/wx/osx/private/available.h
Normal file
@@ -0,0 +1,34 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/osx/private/available.h
|
||||
// Purpose: Helper for checking API availability under macOS.
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2019-04-17
|
||||
// Copyright: (c) 2019 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_OSX_PRIVATE_AVAILABLE_H_
|
||||
#define _WX_OSX_PRIVATE_AVAILABLE_H_
|
||||
|
||||
// Xcode 9 adds new @available keyword and the corresponding __builtin_available
|
||||
// builtin which should be used instead of manually checks for API availability
|
||||
// as using this builtin suppresses the compiler -Wunguarded-availability
|
||||
// warnings, so use it if possible for the implementation of our own macro.
|
||||
#if defined(__clang__) && __has_builtin(__builtin_available)
|
||||
#define WX_IS_MACOS_AVAILABLE(major, minor) \
|
||||
__builtin_available(macOS major ## . ## minor, *)
|
||||
|
||||
// Note that we can't easily forward to API_AVAILABLE macro here, so go
|
||||
// directly to its expansion instead.
|
||||
#define WX_API_AVAILABLE_MACOS(major, minor) \
|
||||
__attribute__((availability(macos,introduced=major ## . ## minor)))
|
||||
#else // Not clang or old clang version without __builtin_available
|
||||
#include "wx/platinfo.h"
|
||||
|
||||
#define WX_IS_MACOS_AVAILABLE(major, minor) \
|
||||
wxPlatformInfo::Get().CheckOSVersion(major, minor)
|
||||
|
||||
#define WX_API_AVAILABLE_MACOS(major, minor)
|
||||
#endif
|
||||
|
||||
#endif // _WX_OSX_PRIVATE_AVAILABLE_H_
|
@@ -76,7 +76,7 @@ public:
|
||||
virtual void SetInsertionPoint(long pos) wxOVERRIDE;
|
||||
virtual void SetInsertionPointEnd() wxOVERRIDE;
|
||||
virtual long GetInsertionPoint() const wxOVERRIDE;
|
||||
virtual wxTextPos GetLastPosition() const;
|
||||
virtual wxTextPos GetLastPosition() const wxOVERRIDE;
|
||||
|
||||
virtual void SetSelection(long from, long to) wxOVERRIDE;
|
||||
virtual void SetEditable(bool editable) wxOVERRIDE;
|
||||
|
Reference in New Issue
Block a user