summaryrefslogtreecommitdiff
path: root/src/protocols/SecurityContext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocols/SecurityContext.cpp')
-rw-r--r--src/protocols/SecurityContext.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/protocols/SecurityContext.cpp b/src/protocols/SecurityContext.cpp
index b93ef448..b42c3a97 100644
--- a/src/protocols/SecurityContext.cpp
+++ b/src/protocols/SecurityContext.cpp
@@ -14,8 +14,8 @@ static int onCloseFdEvent(int fd, uint32_t mask, void* data) {
return 0;
}
-SP<CSecurityContextSandboxedClient> CSecurityContextSandboxedClient::create(int clientFD) {
- auto p = SP<CSecurityContextSandboxedClient>(new CSecurityContextSandboxedClient(clientFD));
+SP<CSecurityContextSandboxedClient> CSecurityContextSandboxedClient::create(int clientFD_) {
+ auto p = SP<CSecurityContextSandboxedClient>(new CSecurityContextSandboxedClient(clientFD_));
if (!p->client)
return nullptr;
return p;
@@ -26,7 +26,7 @@ static void onSecurityContextClientDestroy(wl_listener* l, void* d) {
client->onDestroy();
}
-CSecurityContextSandboxedClient::CSecurityContextSandboxedClient(int clientFD) {
+CSecurityContextSandboxedClient::CSecurityContextSandboxedClient(int clientFD_) : clientFD(clientFD_) {
client = wl_client_create(g_pCompositor->m_sWLDisplay, clientFD);
if (!client)
return;
@@ -37,6 +37,7 @@ CSecurityContextSandboxedClient::CSecurityContextSandboxedClient(int clientFD) {
CSecurityContextSandboxedClient::~CSecurityContextSandboxedClient() {
wl_list_remove(&destroyListener.link);
+ close(clientFD);
}
void CSecurityContextSandboxedClient::onDestroy() {