Crash after dropping files from win10 file explorer into GTK3 window
MSYS2 64 bit, Windows 10 x64, GTK3 v3.24.34, GTK-RS 0.15.1
If to simply drag and drop any file into gtk3 window, access violation will happen sometimes in g_hash_table_lookup
Exception 0xc0000005 encountered at address 0x7ffe803d8fa7: Access violation reading location 0x286c421c0f8
Stacktrace:
g_hash_table_lookup (@g_hash_table_lookup:18)
gdk_win32_screen_get_type (@gdk_win32_screen_get_type:959)
gdk_win32_screen_get_type (@gdk_win32_screen_get_type:3467)
gdk_selection_convert (@gdk_selection_convert:22)
gtk_selection_convert (@gtk_selection_convert:134)
gtk_drag_finish (@gtk_drag_finish:838)
gtk_drag_unhighlight (@gtk_drag_unhighlight:282)
gtk_main_do_event (@gtk_main_do_event:405)
gdk_event_free (@gdk_event_free:106)
gdk_win32_drag_context_get_type (@gdk_win32_drag_context_get_type:2942)
g_clear_list (@g_clear_list:1124)
g_main_context_check (@g_main_context_check:369)
g_main_context_iteration (@g_main_context_iteration:17)
g_application_run (@g_application_run:121)
<O as gio::application::ApplicationExtManual>::run_with_args (e:\Development\vscode\tools\rust\cargo\registry\src\github.com-1ecc6299db9ec823\gio-0.15.10\src\application.rs:30)
<O as gio::application::ApplicationExtManual>::run (e:\Development\vscode\tools\rust\cargo\registry\src\github.com-1ecc6299db9ec823\gio-0.15.10\src\application.rs:23)
electra_stacking_gui::main (d:\rust\electra_stacking\src\bin\electra_stacking_gui\main.rs:69)
core::ops::function::FnOnce::call_once (@std::sys_common::backtrace::__rust_begin_short_backtrace:5)
std::sys_common::backtrace::__rust_begin_short_backtrace (@std::sys_common::backtrace::__rust_begin_short_backtrace:4)
std::rt::lang_start::{{closure}} (@std::rt::lang_start::{{closure}}:6)
Drag-n-drop is configured with this code
let targets = vec![
gtk::TargetEntry::new( "text/uri-list", gtk::TargetFlags::OTHER_APP, 0),
];
window.drag_dest_set(gtk::DestDefaults::DROP, &targets, gtk::gdk::DragAction::COPY);
Edited by Denis Artemov