@@ -343,25 +343,20 @@ public void UnregisterPointer(IPointingSource pointingSource)
343343
344344 public GameObject TryGetFocusedObject ( BaseEventData eventData )
345345 {
346- FocusDetails ? details = TryGetFocusDetails ( eventData ) ;
347-
348- if ( details == null )
349- {
350- return null ;
351- }
352-
353346 IPointingSource pointingSource ;
354347 TryGetPointingSource ( eventData , out pointingSource ) ;
355348 PointerInputEventData pointerInputEventData = GetSpecificPointerEventData ( pointingSource ) ;
356349
357350 Debug . Assert ( pointerInputEventData != null ) ;
358- pointerInputEventData . selectedObject = details . Value . Object ;
359-
360- return details . Value . Object ;
351+ return pointerInputEventData . selectedObject ;
361352 }
362353
363354 public bool TryGetPointingSource ( BaseEventData eventData , out IPointingSource pointingSource )
364355 {
356+ // pre-initialize pointingSource to null, assuming we will return false
357+ pointingSource = null ;
358+ if ( eventData == null ) { return false ; }
359+
365360 for ( int i = 0 ; i < pointers . Count ; i ++ )
366361 {
367362 if ( pointers [ i ] . PointingSource . OwnsInput ( eventData ) )
@@ -371,7 +366,6 @@ public bool TryGetPointingSource(BaseEventData eventData, out IPointingSource po
371366 }
372367 }
373368
374- pointingSource = null ;
375369 return false ;
376370 }
377371
@@ -440,7 +434,11 @@ public PointerInputEventData GetGazePointerEventData()
440434 public PointerInputEventData GetSpecificPointerEventData ( IPointingSource pointer )
441435 {
442436 PointerData pointerEventData ;
443- return GetPointerData ( pointer , out pointerEventData ) ? pointerEventData . UnityUIPointerData : null ;
437+
438+ if ( ! GetPointerData ( pointer , out pointerEventData ) ) { return null ; }
439+
440+ pointerEventData . UnityUIPointerData . selectedObject = GetFocusedObject ( pointer ) ;
441+ return pointerEventData . UnityUIPointerData ;
444442 }
445443
446444 public float GetPointingExtent ( IPointingSource pointingSource )
0 commit comments