<html>
<head>
<base href="https://bugzilla.gnome.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - warnings when starting drag from GtkEntries"
href="https://bugzilla.gnome.org/show_bug.cgi?id=748763">748763</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>warnings when starting drag from GtkEntries
</td>
</tr>
<tr>
<th>Classification</th>
<td>Platform
</td>
</tr>
<tr>
<th>Product</th>
<td>gtk+
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>Normal
</td>
</tr>
<tr>
<th>Component</th>
<td>Backend: Wayland
</td>
</tr>
<tr>
<th>Assignee</th>
<td>gtk-bugs@gtk.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>carlosg@gnome.org
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>gtk-bugs@gtk.org
</td>
</tr>
<tr>
<th>CC</th>
<td>rob@robster.org.uk, wayland-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>GNOME version</th>
<td>---
</td>
</tr></table>
<p>
<div>
<pre>On wayland, dragging text from any GtkEntry causes warnings around GdkWindow
calls, and the drag icon remains invisible
>From what I investigated this comes from gtkdnd machinery which first sets a
default "text" icon, which is then replaced by the surface containing the text
itself. This causes the old DnD icon widget to be destroyed, along with its
resources.
But on wayland we hardcode the icon widget icon to be
gdk_wayland_drag_context_get_dnd_window() (which basically holds the wl_surface
we give on start_drag), this window should survive throughout all of DnD,
although it's currently being destroyed with the first DnD icon.
I'm attaching a couple of patches/hacks that ensure the wl_surface live as long
as DnD does, I guess it would be cleaner to make gtkdnd.c have an internal
GtkWindow that's never destroyed, but something like the second patch would be
needed anyway, because such window would be hidden anyway.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>