java-access-bridge r233 - in trunk: . bridge/org/GNOME/Accessibility



Author: wwalker
Date: Thu Dec  4 20:42:43 2008
New Revision: 233
URL: http://svn.gnome.org/viewvc/java-access-bridge?rev=233&view=rev

Log:
Fix for bug #56317 - StringIndexOutOfBoundsException can be thrown in Java Access Bridge


Modified:
   trunk/ChangeLog
   trunk/bridge/org/GNOME/Accessibility/JavaBridge.java

Modified: trunk/bridge/org/GNOME/Accessibility/JavaBridge.java
==============================================================================
--- trunk/bridge/org/GNOME/Accessibility/JavaBridge.java	(original)
+++ trunk/bridge/org/GNOME/Accessibility/JavaBridge.java	Thu Dec  4 20:42:43 2008
@@ -623,15 +623,20 @@
 			}
 			oldFocusSelectStart = selection_start;
 			oldFocusSelectEnd = selection_end;
-			if (selection_change_start != selection_change_end) {
-			    selection_any.insert_string (oldFocusText.substring (
-							     Math.min (selection_change_start, selection_change_end),
-							     Math.max (selection_change_start, selection_change_end)));
-			    dispatchEvent (e.getSource(),
-					   "object:text-selection-changed",
-					   selection_start, selection_end,
-					   selection_any);
-			}
+			try {
+				if (selection_change_start != selection_change_end) {
+				    selection_any.insert_string (oldFocusText.substring (
+								     Math.min (selection_change_start, selection_change_end),
+								     Math.max (selection_change_start, selection_change_end)));
+				    dispatchEvent (e.getSource(),
+						   "object:text-selection-changed",
+						   selection_start, selection_end,
+						   selection_any);
+				}
+		    } catch(StringIndexOutOfBoundsException indexException) { 
+		    	// the selection_change_end index may be more than the 
+		    	// length of the string. ignore this case silently
+		    }
 		    }
 		}
 		dispatchEvent(e.getSource(), 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]