{
}
+WindowManagerServerIntegration::~WindowManagerServerIntegration()
+{
+ qDeleteAll(m_managedClients);
+}
+
void WindowManagerServerIntegration::initialize(Wayland::Display *waylandDisplay)
{
wl_display_add_global(waylandDisplay->handle(),&wl_windowmanager_interface,this,WindowManagerServerIntegration::bind_func);
void WindowManagerServerIntegration::mapClientToProcess(wl_client *client, uint32_t processId)
{
- WaylandManagedClient *managedClient = m_managedClients.value(client, new WaylandManagedClient);
+ WaylandManagedClient *managedClient = m_managedClients.value(client);
+ if (!managedClient)
+ managedClient = new WaylandManagedClient;
managedClient->m_processId = processId;
m_managedClients.insert(client, managedClient);
}
{
Q_ASSERT(token != 0 && *token != 0);
- WaylandManagedClient *managedClient = m_managedClients.value(client, new WaylandManagedClient);
+ WaylandManagedClient *managedClient = m_managedClients.value(client);
+ if (!managedClient)
+ managedClient = new WaylandManagedClient;
managedClient->m_authenticationToken = QByteArray(token);
m_managedClients.insert(client, managedClient);