aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xwayland/selection/incoming.c3
-rw-r--r--xwayland/selection/selection.c1
2 files changed, 2 insertions, 2 deletions
diff --git a/xwayland/selection/incoming.c b/xwayland/selection/incoming.c
index 3402d9a4..91ab7767 100644
--- a/xwayland/selection/incoming.c
+++ b/xwayland/selection/incoming.c
@@ -100,8 +100,8 @@ void xwm_get_incr_chunk(struct wlr_xwm_selection_transfer *transfer) {
if (xcb_get_property_value_length(transfer->property_reply) > 0) {
xwm_write_selection_property_to_wl_client(transfer);
} else {
- xwm_selection_transfer_finish(transfer);
wlr_log(WLR_DEBUG, "incremental transfer complete");
+ xwm_selection_transfer_finish(transfer);
}
}
@@ -117,7 +117,6 @@ static void xwm_selection_get_data(struct wlr_xwm_selection *selection) {
transfer->incr = true;
xwm_selection_transfer_destroy_property_reply(transfer);
} else {
- transfer->incr = false;
// Reply's ownership is transferred to wm, which is responsible for freeing
// it.
xwm_write_selection_property_to_wl_client(transfer);
diff --git a/xwayland/selection/selection.c b/xwayland/selection/selection.c
index deb286aa..ea0910d7 100644
--- a/xwayland/selection/selection.c
+++ b/xwayland/selection/selection.c
@@ -35,6 +35,7 @@ void xwm_selection_transfer_destroy_property_reply(
void xwm_selection_transfer_finish(
struct wlr_xwm_selection_transfer *transfer) {
+ transfer->incr = false;
xwm_selection_transfer_destroy_property_reply(transfer);
xwm_selection_transfer_remove_event_source(transfer);
xwm_selection_transfer_close_wl_client_fd(transfer);