diff options
Diffstat (limited to 'sway/input/seat.c')
| -rw-r--r-- | sway/input/seat.c | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c index e86a2b81..5709a7f7 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c @@ -222,16 +222,16 @@ void drag_icon_update_position(struct sway_drag_icon *icon) {  	struct sway_seat *seat = icon->seat;  	struct wlr_cursor *cursor = seat->cursor->cursor;  	if (wlr_icon->is_pointer) { -		icon->x = cursor->x + wlr_icon->sx; -		icon->y = cursor->y + wlr_icon->sy; +		icon->x = cursor->x; +		icon->y = cursor->y;  	} else {  		struct wlr_touch_point *point =  			wlr_seat_touch_get_point(seat->wlr_seat, wlr_icon->touch_id);  		if (point == NULL) {  			return;  		} -		icon->x = seat->touch_x + wlr_icon->sx; -		icon->y = seat->touch_y + wlr_icon->sy; +		icon->x = seat->touch_x; +		icon->y = seat->touch_y;  	}  	drag_icon_damage_whole(icon); @@ -289,6 +289,7 @@ static void handle_new_drag_icon(struct wl_listener *listener, void *data) {  	wl_list_insert(&root->drag_icons, &icon->link);  	drag_icon_update_position(icon); +	seat_end_mouse_operation(seat);  }  static void collect_focus_iter(struct sway_node *node, void *data) {  | 
