data-device: unexport wlr_seat_client_send_selection

This commit is contained in:
emersion 2018-12-09 16:36:36 +01:00
parent 1a2727cc38
commit 0040f7089f
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
4 changed files with 16 additions and 16 deletions

View file

@ -33,5 +33,13 @@ struct wlr_seat_client *seat_client_from_data_device_resource(
bool seat_client_start_drag(struct wlr_seat_client *client, bool seat_client_start_drag(struct wlr_seat_client *client,
struct wlr_data_source *source, struct wlr_surface *icon_surface, struct wlr_data_source *source, struct wlr_surface *icon_surface,
struct wlr_surface *origin, uint32_t serial); struct wlr_surface *origin, uint32_t serial);
/**
* Creates a new wl_data_offer if there is a wl_data_source currently set as
* the seat selection and sends it to the seat client, followed by the
* wl_data_device.selection() event. If there is no current selection, the
* wl_data_device.selection() event will carry a NULL wl_data_offer. If the
* client does not have a wl_data_device for the seat nothing will be done.
*/
void seat_client_send_selection(struct wlr_seat_client *seat_client);
#endif #endif

View file

@ -156,15 +156,6 @@ struct wlr_data_device_manager *wlr_data_device_manager_create(
*/ */
void wlr_data_device_manager_destroy(struct wlr_data_device_manager *manager); void wlr_data_device_manager_destroy(struct wlr_data_device_manager *manager);
/**
* Creates a new wl_data_offer if there is a wl_data_source currently set as
* the seat selection and sends it to the seat client, followed by the
* wl_data_device.selection() event. If there is no current selection, the
* wl_data_device.selection() event will carry a NULL wl_data_offer. If the
* client does not have a wl_data_device for the seat nothing * will be done.
*/
void wlr_seat_client_send_selection(struct wlr_seat_client *seat_client);
/** /**
* Requests a selection to be set for the seat. * Requests a selection to be set for the seat.
*/ */

View file

@ -113,7 +113,7 @@ static void device_resource_send_selection(struct wl_resource *device_resource)
} }
} }
void wlr_seat_client_send_selection(struct wlr_seat_client *seat_client) { void seat_client_send_selection(struct wlr_seat_client *seat_client) {
struct wlr_data_source *source = seat_client->seat->selection_source; struct wlr_data_source *source = seat_client->seat->selection_source;
if (source != NULL) { if (source != NULL) {
source->accepted = false; source->accepted = false;
@ -174,7 +174,7 @@ void wlr_seat_set_selection(struct wlr_seat *seat,
struct wlr_seat_client *focused_client = struct wlr_seat_client *focused_client =
seat->keyboard_state.focused_client; seat->keyboard_state.focused_client;
if (focused_client) { if (focused_client) {
wlr_seat_client_send_selection(focused_client); seat_client_send_selection(focused_client);
} }
if (source) { if (source) {

View file

@ -2,17 +2,18 @@
#include <assert.h> #include <assert.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <time.h>
#include <sys/mman.h> #include <sys/mman.h>
#include <time.h>
#include <unistd.h> #include <unistd.h>
#include <wayland-server.h> #include <wayland-server.h>
#include <wlr/types/wlr_data_device.h> #include <wlr/types/wlr_data_device.h>
#include <wlr/types/wlr_input_device.h>
#include <wlr/types/wlr_gtk_primary_selection.h> #include <wlr/types/wlr_gtk_primary_selection.h>
#include <wlr/types/wlr_input_device.h>
#include <wlr/util/log.h> #include <wlr/util/log.h>
#include "types/wlr_data_device.h"
#include "types/wlr_seat.h" #include "types/wlr_seat.h"
#include "util/signal.h"
#include "util/shm.h" #include "util/shm.h"
#include "util/signal.h"
static void default_keyboard_enter(struct wlr_seat_keyboard_grab *grab, static void default_keyboard_enter(struct wlr_seat_keyboard_grab *grab,
struct wlr_surface *surface, uint32_t keycodes[], size_t num_keycodes, struct wlr_surface *surface, uint32_t keycodes[], size_t num_keycodes,
@ -271,8 +272,6 @@ void wlr_seat_keyboard_enter(struct wlr_seat *seat,
wl_keyboard_send_enter(resource, serial, surface->resource, &keys); wl_keyboard_send_enter(resource, serial, surface->resource, &keys);
} }
wl_array_release(&keys); wl_array_release(&keys);
wlr_seat_client_send_selection(client);
} }
// reinitialize the focus destroy events // reinitialize the focus destroy events
@ -292,6 +291,8 @@ void wlr_seat_keyboard_enter(struct wlr_seat *seat,
// tell new client about any modifier change last, // tell new client about any modifier change last,
// as it targets seat->keyboard_state.focused_client // as it targets seat->keyboard_state.focused_client
wlr_seat_keyboard_send_modifiers(seat, modifiers); wlr_seat_keyboard_send_modifiers(seat, modifiers);
seat_client_send_selection(client);
} }
struct wlr_seat_keyboard_focus_change_event event = { struct wlr_seat_keyboard_focus_change_event event = {