Andrew Overholt 5947632
diff -uNr build.xml build.xml
Andrew Overholt 5947632
--- build.xml	2009-11-05 06:15:17.000000000 -0500
Andrew Overholt 5947632
+++ build.xml	2009-12-22 16:47:19.000000000 -0500
Andrew Overholt 3a233cb
@@ -247,6 +247,7 @@
Andrew Overholt 3a233cb
 		<patch patchfile="${basedir}/patches/donotstorebuildlogsinfiles.patch" dir="${buildDirectory}" strip="3" />
Andrew Overholt 3a233cb
 		<patch patchfile="${basedir}/patches/donotsetjavahomeandoptimizeliblocalfile.patch" dir="${buildDirectory}" strip="3" />
Andrew Overholt 3a233cb
 		<patch patchfile="${basedir}/patches/eclipse-pde.build-add-package-build.patch" dir="${buildDirectory}/plugins/org.eclipse.pde.build" strip="0" />
Andrew Overholt 3a233cb
+		<patch patchfile="${basedir}/patches/swtbug291128.patch" dir="${buildDirectory}/plugins/org.eclipse.swt/Eclipse SWT Accessibility" strip="1" />
Andrew Overholt 3a233cb
 		<patch patchfile="${basedir}/patches/gnomeproxy-makefile.patch" dir="${buildDirectory}" strip="1" />
Andrew Overholt 3a233cb
 		<replace file="${buildDirectory}/plugins/org.eclipse.pde.build/templates/package-build/build.properties" token="/usr/share/eclipse" value="/usr/${libDir}/eclipse" />
Andrew Overholt 3a233cb
 		<chmod dir="${buildDirectory}/plugins/org.eclipse.pde.build/templates/package-build" includes="*.sh" perm="a+x" />
Andrew Overholt 5947632
diff -uNr patches/swtbug291128.patch patches/swtbug291128.patch
Andrew Overholt 5947632
--- patches/swtbug291128.patch	1969-12-31 19:00:00.000000000 -0500
Andrew Overholt 5947632
+++ patches/swtbug291128.patch	2009-12-22 16:46:54.000000000 -0500
Andrew Overholt 5947632
@@ -0,0 +1,32 @@
Andrew Overholt 3a233cb
+### Eclipse Workspace Patch 1.0
Andrew Overholt 3a233cb
+#P org.eclipse.swt
Andrew Overholt 3a233cb
+Index: Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java
Andrew Overholt 3a233cb
+===================================================================
Andrew Overholt 3a233cb
+RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java,v
Andrew Overholt 3a233cb
+retrieving revision 1.46
Andrew Overholt 3a233cb
+diff -u -r1.46 AccessibleObject.java
Andrew Overholt 3a233cb
+--- Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java	29 May 2009 21:30:30 -0000	1.46
Andrew Overholt 3a233cb
++++ Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java	22 Dec 2009 17:05:15 -0000
Andrew Overholt 3a233cb
+@@ -1176,7 +1176,12 @@
Andrew Overholt 3a233cb
+ 	}
Andrew Overholt 3a233cb
+ 
Andrew Overholt 3a233cb
+ 	static AccessibleObject getAccessibleObject (int /*long*/ atkObject) {
Andrew Overholt 3a233cb
+-		return (AccessibleObject)AccessibleObjects.get (new LONG (atkObject));
Andrew Overholt 3a233cb
++		AccessibleObject object = (AccessibleObject)AccessibleObjects.get (new LONG (atkObject));
Andrew Overholt 3a233cb
++		if (object == null) return null;
Andrew Overholt 3a233cb
++		if (object.accessible == null) return null;
Andrew Overholt 3a233cb
++		Control control = object.accessible.control;
Andrew Overholt 3a233cb
++		if (control == null || control.isDisposed()) return null;
Andrew Overholt 3a233cb
++		return object;
Andrew Overholt 3a233cb
+ 	}
Andrew Overholt 3a233cb
+ 	
Andrew Overholt 3a233cb
+ 	AccessibleObject getChildByHandle (int /*long*/ handle) {
Andrew Overholt 3a233cb
+@@ -1252,7 +1257,7 @@
Andrew Overholt 3a233cb
+ 		GObjectClass objectClassStruct = new GObjectClass ();
Andrew Overholt 3a233cb
+ 		ATK.memmove (objectClassStruct, gObjectClass);
Andrew Overholt 3a233cb
+ 		ATK.call (objectClassStruct.finalize, atkObject);
Andrew Overholt 3a233cb
+-		AccessibleObject object = getAccessibleObject (atkObject);
Andrew Overholt 3a233cb
++		AccessibleObject object = (AccessibleObject)AccessibleObjects.get (new LONG (atkObject));
Andrew Overholt 3a233cb
+ 		if (object != null) {
Andrew Overholt 3a233cb
+ 			AccessibleObjects.remove (new LONG (atkObject));
Andrew Overholt 3a233cb
+ 			object.release ();