// Callback for View TouchSignal
private bool OnTouch(IntPtr view, IntPtr touchData)
{
+ if (IsDisposeQueued)
+ {
+ NUILog.Error("implicit disposed(unreachable)! just return here!");
+ return true;
+ }
+
if (touchData == global::System.IntPtr.Zero)
{
NUILog.Error("touchData should not be null!");
//Release your own unmanaged resources here.
//You should not access any managed member here except static instance.
//because the execution order of Finalizes is non-deterministic.
- if (this != null)
- {
- DisConnectFromSignals();
- }
+
+ DisConnectFromSignals();
foreach (View view in Children)
{
{
SizeModeFactor = new Vector3(x, y, z);
}
-
private void UpdateShadowCornerRadius(float value)
{
// TODO Update corner radius property only whe DALi supports visual property update.
internal void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
+ if (isDisposeQueued)
+ {
+ NUILog.Error("implicit disposed(unreachable)! just return here!");
+ return;
+ }
PropertySet?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
return;
}
+ PropertySet = null;
+
if (type == DisposeTypes.Explicit)
{
//Called by User
Registry.Unregister(this);
}
- if(swigCPtr.Handle != IntPtr.Zero)
+ if (swigCPtr.Handle != IntPtr.Zero)
{
if (swigCMemOwn)
{
/// <remarks>Hidden API: Only for inhouse or developing usage. The behavior and interface can be changed anytime.</remarks>
[EditorBrowsable(EditorBrowsableState.Never)]
protected internal bool Disposed => disposed;
+
+ protected internal bool IsDisposeQueued => isDisposeQueued;
}
}