Bug 572137 - convertPointToBase: in class NSView is deprecated
Summary: convertPointToBase: in class NSView is deprecated
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.20   Edit
Hardware: PC Mac OS X
: P3 minor (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-20 07:26 EDT by Alex Blewitt CLA
Modified: 2021-03-20 09:45 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Blewitt CLA 2021-03-20 07:26:08 EDT
The following message is displayed when launching Eclipse from a command line (e.g. Eclipse.app/Console/MacOS/eclipse):

*** WARNING: Method convertPointToBase: in class NSView is deprecated on 10.7 and later. It should not be used in new applications. 

I think it's coming from the AppKit bridge support:

bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport

<method selector='convertPointToBase:'>
<arg declared_type='NSPoint' index='0' name='aPoint' type='{_NSPoint=ff}' type64='{CGPoint=dd}'/>
<retval declared_type='NSPoint' type='{_NSPoint=ff}' type64='{CGPoint=dd}'/>
</method>

I can't see where this is used though? Perhaps it's just held over from a prior version of required selectors that were used?

It looks like it was removed in 50e3251a674a8b4a7b3ac9cdc3f764ea7d1ae30a in Jan last year; maybe the definition just needs to be removed fro the AppKitFull.bridgesupport?
Comment 1 Alex Blewitt CLA 2021-03-20 07:41:03 EDT
The change to remove the code that called the convertPointToBase was done in Jan last year; maybe we just need to verify we still need the calls listed in the AppKit bridge support file?
Comment 2 Nikita Nemkin CLA 2021-03-20 09:17:20 EDT
Bridgesupport files are only used for development time code generation. Also, they themselves are auto-genrated from macOS SDK headers and shouldn't be hand-edited.

Neither SWT nor the launcher call convertPointToBase. Perhaps building SWT with an older SDK pulls in some AppKit-internal legacy code?
Comment 3 Alex Blewitt CLA 2021-03-20 09:45:01 EDT
(In reply to Nikita Nemkin from comment #2)
> Bridgesupport files are only used for development time code generation.
> Also, they themselves are auto-genrated from macOS SDK headers and shouldn't
> be hand-edited.
> 
> Neither SWT nor the launcher call convertPointToBase. Perhaps building SWT
> with an older SDK pulls in some AppKit-internal legacy code?

Yes, that's possible. Do we know which version of the SDK we compile against?