From cc5cddb4f616281e399280a9b11f95466497ee7b Mon Sep 17 00:00:00 2001 From: "dongsug.song" Date: Fri, 16 Jun 2023 22:00:06 +0900 Subject: [PATCH] [NUI] Add Window validation check --- src/Tizen.NUI/src/internal/Application/Application.cs | 6 ++++++ src/Tizen.NUI/src/internal/Common/DaliEnumConstants.cs | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/Tizen.NUI/src/internal/Application/Application.cs b/src/Tizen.NUI/src/internal/Application/Application.cs index 34ad382..1374a59 100755 --- a/src/Tizen.NUI/src/internal/Application/Application.cs +++ b/src/Tizen.NUI/src/internal/Application/Application.cs @@ -1845,6 +1845,12 @@ namespace Tizen.NUI [EditorBrowsable(EditorBrowsableState.Never)] public static List GetWindowList() { + if (Interop.Stage.IsInstalled() == false) + { + NUILog.ErrorBacktrace($"[ERROR] dali adaptor and dali window is not ready. just return NULL here"); + return null; + } + uint ListSize = Interop.Application.GetWindowsListSize(); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); diff --git a/src/Tizen.NUI/src/internal/Common/DaliEnumConstants.cs b/src/Tizen.NUI/src/internal/Common/DaliEnumConstants.cs index afb7403..b97b81e 100755 --- a/src/Tizen.NUI/src/internal/Common/DaliEnumConstants.cs +++ b/src/Tizen.NUI/src/internal/Common/DaliEnumConstants.cs @@ -238,6 +238,22 @@ namespace Tizen.NUI { Tizen.Log.Error("NUI", $"{msg} (at line {lineNum} of {caller} in {file})\n"); } + + public static void ErrorBacktrace(string msg, + [CallerLineNumber] int lineNum = 0, + [CallerMemberName] string caller = null, + [CallerFilePath] string file = null + ) + { + Tizen.Log.Error("NUI", $"[ERR]{msg} (at line {lineNum} of {caller} in {file})\n"); + Tizen.Log.Error("NUI", $"[ERR] Back Trace =>"); + global::System.Diagnostics.StackTrace st = new global::System.Diagnostics.StackTrace(true); + for (int i = 0; i < st.FrameCount; i++) + { + global::System.Diagnostics.StackFrame sf = st.GetFrame(i); + Tizen.Log.Error("NUI", " Method " + sf.GetMethod()); + } + } } } -- 2.7.4