Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLakshmi Shanmugam2018-07-30 11:17:05 +0000
committerLakshmi Shanmugam2018-08-16 08:52:17 +0000
commitdaaa7345f5057c0eac56d3ae436dfc4909c7029c (patch)
treee903b861eb61b21aa8fe747c90b3cd1d4fb33b80 /bundles/org.eclipse.swt/Eclipse SWT Accessibility
parent61e0bea5e4ccff1c582b4f33bcf8c435e4c5570c (diff)
downloadeclipse.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')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/Accessible.java4
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/AccessibleTableHeader.java2
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Accessibility/cocoa/org/eclipse/swt/accessibility/AccessibleTableRow.java2
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);

Back to the top