if (view is null)
{
- throw new ArgumentException($"RefObject 0x{refObjectPtr:x} is not a View", nameof(refObjectPtr));
+ // There is no guidance for exception handling in the application layer.
+ // Therefore, it is necessary to modify the code to display error messages to the user instead of exceptions occurring.
+ Tizen.Log.Error("NUI", $"RefObject 0x{refObjectPtr:x} is not a View nameof{refObjectPtr}");
}
return view;
private static T GetInterfaceFromRefObject<T>(IntPtr refObjectPtr)
{
var view = GetViewFromRefObject(refObjectPtr);
+ if (view == null) { return default(T); }
// NUIViewAccessible::CallMethod<T> checks whether a given interface is implemented
// before jumping to managed code, so this condition should always be true.
private static ulong AccessibilityCalculateStatesWrapper(IntPtr self, ulong initialStates)
{
View view = GetViewFromRefObject(self);
+ if (view == null) { return 0; }
ulong bitMask = 0UL;
private static void AccessibilityGetAttributes(IntPtr self, Interop.ControlDevel.AccessibilityDelegate.AccessibilityGetAttributesCallback callback, IntPtr userData)
{
var view = GetViewFromRefObject(self);
+ if (view == null) { return ; }
var attributes = view.AccessibilityAttributes;
var classKey = "class";
private static IntPtr AccessibilityGetDescriptionWrapper(IntPtr self)
{
- string description = GetViewFromRefObject(self).AccessibilityGetDescription();
+ View view = GetViewFromRefObject(self);
+ if (view == null) { return IntPtr.Zero;}
+
+ string description = view.AccessibilityGetDescription();
return DuplicateString(description);
}
private static uint AccessibilityGetInterfaces(IntPtr self)
{
View view = GetViewFromRefObject(self);
+ if (view == null) { return 0; }
+
uint flags = 0U;
if (view is IAtspiEditableText)
private static IntPtr AccessibilityGetNameWrapper(IntPtr self)
{
- string name = GetViewFromRefObject(self).AccessibilityGetName();
+ View view = GetViewFromRefObject(self);
+ if (view == null) { return IntPtr.Zero; }
+
+ string name = view.AccessibilityGetName();
return DuplicateString(name);
}
private static bool AccessibilityDoActionWrapper(IntPtr self, IntPtr name)
{
- return GetViewFromRefObject(self).AccessibilityDoAction(Marshal.PtrToStringAnsi(name));
+ View view = GetViewFromRefObject(self);
+ if (view == null) { return false; }
+
+ return view.AccessibilityDoAction(Marshal.PtrToStringAnsi(name));
}
private static int AccessibilityGetActionCountWrapper(IntPtr self)
{
- return GetViewFromRefObject(self).AccessibilityGetActionCount();
+ View view = GetViewFromRefObject(self);
+ if (view == null) { return 0; }
+
+ return view.AccessibilityGetActionCount();
}
private static IntPtr AccessibilityGetActionNameWrapper(IntPtr self, int index)
{
- string name = GetViewFromRefObject(self).AccessibilityGetActionName(index);
-
+ View view = GetViewFromRefObject(self);
+ if (view == null) { return IntPtr.Zero; }
+
+ string name = view.AccessibilityGetActionName(index);
return DuplicateString(name);
}
private static bool AccessibilityIsScrollableWrapper(IntPtr self)
{
- return GetViewFromRefObject(self).AccessibilityIsScrollable();
+ View view = GetViewFromRefObject(self);
+ if (view == null) { return false; }
+
+ return view.AccessibilityIsScrollable();
}
//
private static IntPtr AccessibilityGetValueTextWrapper(IntPtr self)
{
var view = GetViewFromRefObject(self);
+ if (view == null) { return IntPtr.Zero; }
+
var value = GetInterfaceFromRefObject<IAtspiValue>(self);
string text;
private static bool AccessibilityScrollToChildWrapper(IntPtr self, IntPtr child)
{
View view = GetViewFromRefObject(self);
+ if (view == null) { return false; }
return view.AccessibilityScrollToChild(view.GetInstanceSafely<View>(child));
}