*** empty log message ***
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/List.java b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/List.java
index a4c43fc..f1dd8b5 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/List.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/List.java
@@ -42,6 +42,7 @@
 	int itemCount, anchorFirst, anchorLast;
 	boolean ignoreSelect;
 	static final int COLUMN_ID = 1024;
+	static final int EXTRA_WIDTH = 25;
 
 /**
  * Constructs a new instance of this class given its parent
@@ -199,6 +200,7 @@
 			width = Math.max (width, extent.x);
 		}
 		gc.dispose ();
+		width += EXTRA_WIDTH;
 	} else {
 		width = wHint;
 	}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Table.java
index 0b94906..f17e328 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Table.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Table.java
@@ -787,7 +787,11 @@
 	//TODO - optimize
 	for (int i=0; i<itemCount; i++) {
 		if (OS.GetDataBrowserItemPartBounds (handle, i + 1, COLUMN_ID, OS.kDataBrowserPropertyEnclosingPart, rect) == OS.noErr) {
-			if (OS.PtInRect (pt, rect)) return items [i];
+			if ((style & SWT.FULL_SELECTION) != 0) {
+				if (rect.top <= pt.v && pt.v < rect.bottom) return items [i];
+			} else {
+				if (OS.PtInRect (pt, rect)) return items [i];
+			}
 		}
 	}
 	return null;