gtk/dragicon: Don't show until child is set
Showing before the child would result in bogus gdk_drag_surface_present() with an "empty" (1x1) size. This can easily be avoided by postponing showing until there is anything to show.
This commit is contained in:
@@ -414,7 +414,8 @@ gtk_drag_icon_get_for_drag (GdkDrag *drag)
|
||||
|
||||
g_object_set_qdata_full (G_OBJECT (drag), drag_icon_quark, g_object_ref_sink (self), g_object_unref);
|
||||
|
||||
gtk_widget_show (self);
|
||||
if (GTK_DRAG_ICON (self)->child != NULL)
|
||||
gtk_widget_show (self);
|
||||
}
|
||||
|
||||
return self;
|
||||
@@ -472,7 +473,10 @@ gtk_drag_icon_set_child (GtkDragIcon *self,
|
||||
self->child = child;
|
||||
|
||||
if (self->child)
|
||||
gtk_widget_set_parent (self->child, GTK_WIDGET (self));
|
||||
{
|
||||
gtk_widget_set_parent (self->child, GTK_WIDGET (self));
|
||||
gtk_widget_show (GTK_WIDGET (self));
|
||||
}
|
||||
|
||||
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_CHILD]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user