18void QWaylandTextInputManagerPrivate::zwp_text_input_manager_v2_get_text_input(Resource *resource, uint32_t id,
struct ::wl_resource *seatResource)
20 Q_Q(QWaylandTextInputManager);
21 QWaylandCompositor *compositor =
static_cast<QWaylandCompositor *>(q->extensionContainer());
22 QWaylandSeat *seat = QWaylandSeat::fromSeatResource(seatResource);
23 QWaylandTextInput *textInput = QWaylandTextInput::findIn(seat);
25 textInput =
new QWaylandTextInput(seat, compositor);
26 textInput->add(resource->client(), id, wl_resource_get_version(resource->handle));
27 QWaylandClient *client = QWaylandClient::fromWlClient(compositor, resource->client());
28 QWaylandClient::TextInputProtocols p = client->textInputProtocols();
29 client->setTextInputProtocols(p.setFlag(QWaylandClient::TextInputProtocol::TextInputV2));
30 if (!textInput->isInitialized())
31 textInput->initialize();
71void QWaylandTextInputManager::initialize()
73 Q_D(QWaylandTextInputManager);
75 QWaylandCompositorExtensionTemplate::initialize();
76 QWaylandCompositor *compositor =
static_cast<QWaylandCompositor *>(extensionContainer());
78 qWarning() <<
"Failed to find QWaylandCompositor when initializing QWaylandTextInputManager";
81 d->init(compositor->display(), 1);