});
}
+static void
+gdk_x11_clipboard_default_output_closed (GObject *stream,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GError *error = NULL;
+
+ if (!g_output_stream_close_finish (G_OUTPUT_STREAM (stream), result, &error))
+ {
+ GDK_NOTE (CLIPBOARD,
+ g_printerr ("-------: failed to close stream: %s\n",
+ error->message));
+ g_error_free (error);
+ }
+
+ g_object_unref (stream);
+}
+
static void
gdk_x11_clipboard_default_output_done (GObject *clipboard,
GAsyncResult *result,
gpointer user_data)
{
+ GOutputStream *stream = user_data;
GError *error = NULL;
if (!gdk_clipboard_write_finish (GDK_CLIPBOARD (clipboard), result, &error))
GDK_X11_CLIPBOARD (clipboard)->selection, error->message));
g_error_free (error);
}
+
+ g_output_stream_close_async (stream,
+ G_PRIORITY_DEFAULT,
+ NULL,
+ gdk_x11_clipboard_default_output_closed,
+ NULL);
}
static void
G_PRIORITY_DEFAULT,
NULL,
gdk_x11_clipboard_default_output_done,
- NULL);
- g_object_unref (stream);
+ stream);
}
static GInputStream *
}
}
+static void
+gdk_x11_drag_default_output_closed (GObject *stream,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GError *error = NULL;
+
+ if (!g_output_stream_close_finish (G_OUTPUT_STREAM (stream), result, &error))
+ {
+ GDK_NOTE (DND,
+ g_printerr ("failed to close stream: %s\n",
+ error->message));
+ g_error_free (error);
+ }
+
+ g_object_unref (stream);
+}
+
static void
gdk_x11_drag_default_output_done (GObject *drag,
GAsyncResult *result,
gpointer user_data)
{
+ GOutputStream *stream = user_data;
GError *error = NULL;
if (!gdk_drag_write_finish (GDK_DRAG (drag), result, &error))
GDK_DISPLAY_NOTE (gdk_drag_get_display (GDK_DRAG (drag)), DND, g_printerr ("failed to write stream: %s\n", error->message));
g_error_free (error);
}
+
+ g_output_stream_close_async (stream,
+ G_PRIORITY_DEFAULT,
+ NULL,
+ gdk_x11_drag_default_output_closed,
+ NULL);
}
static void
G_PRIORITY_DEFAULT,
NULL,
gdk_x11_drag_default_output_done,
- NULL);
- g_object_unref (stream);
+ stream);
}
static gboolean