diff options
author | Lakshmi Shanmugam | 2018-07-30 11:17:05 +0000 |
---|---|---|
committer | Lakshmi Shanmugam | 2018-08-16 08:52:17 +0000 |
commit | daaa7345f5057c0eac56d3ae436dfc4909c7029c (patch) | |
tree | e903b861eb61b21aa8fe747c90b3cd1d4fb33b80 /bundles/org.eclipse.swt/Eclipse SWT Accessibility | |
parent | 61e0bea5e4ccff1c582b4f33bcf8c435e4c5570c (diff) | |
download | eclipse.platform.swt-daaa7345f5057c0eac56d3ae436dfc4909c7029c.tar.gz eclipse.platform.swt-daaa7345f5057c0eac56d3ae436dfc4909c7029c.tar.xz eclipse.platform.swt-daaa7345f5057c0eac56d3ae436dfc4909c7029c.zip |
Bug 459043: [Cocoa] NPE while invoking Display.getBounds
Added null checks for all calls of NSScreen.screens() except in Shell &
Tracker.
Change-Id: Ifaf21c2c35b2445451cb3c6a0b7a53b7afe8a8c8
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT Accessibility')
3 files changed, 8 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/Accessible.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/Accessible.java index 741596e1fe..58e93d51a5 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/Accessible.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/Accessible.java @@ -1760,6 +1760,8 @@ public class Accessible { // Flip y coordinate for Cocoa. NSArray screens = NSScreen.screens(); + if (screens == null) return null; + NSScreen screen = new NSScreen(screens.objectAtIndex(0)); NSRect frame = screen.frame(); rect.y = frame.height - event.y - event.height; @@ -1802,6 +1804,8 @@ public class Accessible { NSRange range = new NSRange(); if (accessibleTextExtendedListenersSize() > 0) { NSArray screens = NSScreen.screens(); + if (screens == null) return null; + NSScreen screen = new NSScreen(screens.objectAtIndex(0)); NSRect frame = screen.frame(); point.y = frame.height - point.y; diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/AccessibleTableHeader.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/AccessibleTableHeader.java index 1252bd0789..dbe83a4a02 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/AccessibleTableHeader.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/AccessibleTableHeader.java @@ -89,6 +89,8 @@ class AccessibleTableHeader extends Accessible { e.x = (int) position.x; // Flip y coordinate for Cocoa. NSArray screens = NSScreen.screens(); + if (screens == null) return; + NSScreen screen = new NSScreen(screens.objectAtIndex(0)); NSRect frame = screen.frame(); e.y = (int) (frame.height - position.y - height); diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/AccessibleTableRow.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/AccessibleTableRow.java index 885d9c6467..288858da2a 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/AccessibleTableRow.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/AccessibleTableRow.java @@ -87,6 +87,8 @@ class AccessibleTableRow extends Accessible { e.x = (int) position.x; // Flip y coordinate for Cocoa. NSArray screens = NSScreen.screens(); + if (screens == null) return; + NSScreen screen = new NSScreen(screens.objectAtIndex(0)); NSRect frame = screen.frame(); e.y = (int) (frame.height - position.y - height); |