我正在使用
gtk
cargo package 版本 0.17.1
为 windows 构建桌面应用程序。我安装的 GTK 版本是3.24.37
。我在我的窗口中使用了一个 Entry
小部件,在调试时,我尝试单击该小部件 3 次。有时第一次右击后会死机,不弹出右击菜单,程序会崩溃,报以下错误:
process didn't exit successfully: ... (exit code: 0xc0000005, STATUS_ACCESS_VIOLATION)
有时在 3 次右键单击后会出现这种情况。在尝试将 UTF-8 文本粘贴到条目中时,我也遇到了同样的崩溃和变频。
let groupname_box = SearchEntry::builder()
.placeholder_text(GROUP_PLACEHOLDER)
.width_request(windows::WIDTH)
.build();
let scroll_window = ScrolledWindow::builder()
.width_request(WIDTH)
.height_request(HEIGHT)
.hscrollbar_policy(PolicyType::Never)
.vscrollbar_policy(PolicyType::Automatic)
.child(&defaultsbox)
.build();
let view = GtkBox::builder()
.orientation(Orientation::Horizontal)
.child(&button_box)
.child(&scroll_window)
.build();
groupname_box.connect_paste_clipboard(move |box_context| {
log("token box pasted");
});
groupname_box.connect_button_release_event(move |_, _| {
Inhibit(false)
});
请告知解决此行为的最佳方法。这是 GTK4 中修复的错误吗?我是否在糟糕地处理用户输入事件?还有别的吗?