Broadwayd - GtkEntry popup takes 35s after application startup
Steps to reproduce
start broadwayd broadwayd :5 &
start gtk3-demo setenv GDK_BACKEND broadway setenv BROADWAY_DISPLAY :5 gtk3-demo
point browser to http://127.0.0.1:8085/
open "Entry Buffer" demo
right-click on first entry
Popup appears after ~35 seconds (directly after application start)
Popup appears immediately after application startup.
Gtk+ 3.24.4 Linux x86_64 (CentOS7)
./configure --enable-debug=yes --disable-largefile --disable-tests --enable-broadway-backend --enable-x11-backend --prefix=/opt/casy/gtk3/.Linux.3.x86_64 AWK=/usr/bin/gawk
After having typed some text into the entry, then selected it and used Ctl-C to copy the text into the clipboard, the popup appears immediately. The problem is gone.
Same behavior can be reproduced with GtkTextView.
After putting some g_debug() calls into gtkentry.c at start of functions gtk_entry_do_popup() and popup_targets_received(), i can see that it takes 35secs until the callback to popup_targets_received() arrives.
(gtk3-demo:19426): Gtk-DEBUG: gtk_entry_do_popup (gtk3-demo:19426): Gdk-WARNING **: convert_selection not implemented (gtk3-demo:19426): Gtk-DEBUG: gtk_entry_do_popup2 35 seconds later: (gtk3-demo:19426): Gtk-DEBUG: popup_targets_received
Looks to me like an initialisation problem.
gtk_entry_do_popup() does only one call to gtk_clipboard_request_contents()
The function gtk_clipboard_real_request_contents() uses clipboard_get_timestamp() which leads to the assumption that the clipboard timestamp was not initialized properly.