/* Extends the #GIcon interface and adds the ability to load icons from streams.  */
static void g_loadable_icon_real_load_async(GLoadableIcon *icon, int size, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
/* Extends the #GIcon interface and adds the ability to load icons from streams.  */
static void g_loadable_icon_real_load_async(GLoadableIcon *icon, int size, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
{
  GTask *task;
  LoadData *data;
  task = g_task_new (icon, cancellable, callback, user_data);
  data = g_new0 (LoadData, 1);
  g_task_set_task_data (task, data, (GDestroyNotify) load_data_free);
  g_task_run_in_thread (task, load_async_thread);
  g_object_unref (task);
}