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