mirror of
https://github.com/brl/mutter.git
synced 2025-01-22 09:29:25 +00:00
x11: Unset pending flush flag right before notifying on task
Together with some other state. We can do this altogether on task notification, instead of lost somewhere in this function flow. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1198 (cherry picked from commit e95c365cf01837862f87dea90190b47392ee7f67)
This commit is contained in:
parent
6ce42e100f
commit
7ec0a9dd68
@ -246,8 +246,6 @@ meta_x11_selection_output_stream_perform_flush (MetaX11SelectionOutputStream *st
|
||||
priv->data->data,
|
||||
n_elements);
|
||||
g_byte_array_remove_range (priv->data, 0, n_elements * element_size);
|
||||
if (priv->data->len == 0)
|
||||
priv->flush_requested = FALSE;
|
||||
}
|
||||
|
||||
meta_x11_selection_output_stream_notify_selection (stream);
|
||||
@ -262,6 +260,10 @@ meta_x11_selection_output_stream_perform_flush (MetaX11SelectionOutputStream *st
|
||||
{
|
||||
char error_str[100];
|
||||
|
||||
priv->flush_requested = FALSE;
|
||||
priv->delete_pending = FALSE;
|
||||
priv->pipe_error = TRUE;
|
||||
|
||||
XGetErrorText (xdisplay, error_code, error_str, sizeof (error_str));
|
||||
g_task_return_new_error (priv->pending_task,
|
||||
G_IO_ERROR,
|
||||
@ -269,12 +271,12 @@ meta_x11_selection_output_stream_perform_flush (MetaX11SelectionOutputStream *st
|
||||
"Failed to flush selection output stream: %s",
|
||||
error_str);
|
||||
g_clear_object (&priv->pending_task);
|
||||
priv->pipe_error = TRUE;
|
||||
}
|
||||
else if (priv->pending_task)
|
||||
{
|
||||
size_t result;
|
||||
|
||||
priv->flush_requested = FALSE;
|
||||
result = GPOINTER_TO_SIZE (g_task_get_task_data (priv->pending_task));
|
||||
g_task_return_int (priv->pending_task, result);
|
||||
g_clear_object (&priv->pending_task);
|
||||
|
Loading…
x
Reference in New Issue
Block a user