현재 Avalonia UI 를 이용해서 개발 중에 있는데,
Raspberry Pi CM5 에서만 문제가 발생해서 질문 드려봅니다.
async void tb_date_MouseUp(object? sender, RoutedEventArgs e)
{
try
{
Keypad_temp2 KEYBOARD = new Keypad_temp2();
string str = await KEYBOARD.ShowKeyboard();
await Task.Yield(); //
Keypad_temp2 KEYBOARD2 = new Keypad_temp2();
string str2 = await KEYBOARD2.ShowKeyboard();
await Task.Yield(); //
if (System.Text.RegularExpressions.Regex.IsMatch(str, @"\d{2}-\d{1,2}-\d{1,2}-\d{1,2}-\d{1,2}") == false)
{
await MessageBox.Show("정확하지 않은 입력입니다.");
await Task.Yield(); //
return;
}
return;
}
catch(Exception ex)
{
Debug.WriteLine(ex);
}
}
public async Task ShowKeyboard()
{
var result = await this.ShowDialog(App.MainAppWindow) ; if (result == DialogResult.Cancel) return (string)null; else return this.Txt.Text;
}
다음과 같이, 키보드 화면을 ShowDialog 로 static으로 호출하게 한 후,
한 메소드 안에서 결과값에 따라 Dialog를 최대 3번 정도 띄우게 하는 코드인데,
Windows , Linux (22.04 x86_64), Ubuntu (18.04 aarch64) 에서는 문제 없이 잘 동작하나
Raspberry Pi CM5 에서는 몇번 실행하다보면 불규칙하게 Dialog를 닫는 순간
다음코드로 넘어가거나 다른 Ui를 조작할 수 없이 멈춰버리는 현상이 나옵니다.
Raspberry Pi CM4 에서도 테스트해봤는데 해당 증상이 나오지 않는 걸로 보아서
Wayland 기반으로 넘어간 CM5에서 문제가 발생하지 않나 싶은데
비슷한 증상을 겪으신분들 계실까요?