kgreeter: unreference the glib loop before quit

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2022-04-28 20:03:36 +03:00
parent f1072f7767
commit 2681bff3cf

View file

@ -55,6 +55,7 @@ public:
LightDMGreeter* getGreeter() const;
void clearPass();
void stopGlibPoll();
static void showPromptCb(LightDMGreeter *ldmgreeter, const char *ldmtext, LightDMPromptType ldmtype, gpointer ldmptr);
static void authenticationCompleteCb(LightDMGreeter *ldmgreeter, gpointer ldmptr);
@ -316,6 +317,12 @@ void KGreeter::clearPass()
}
}
void KGreeter::stopGlibPoll()
{
killTimer(m_timerid);
g_main_loop_unref(glibloop);
}
void KGreeter::showPromptCb(LightDMGreeter *ldmgreeter, const char *ldmtext, LightDMPromptType ldmtype, gpointer ldmptr)
{
// qDebug() << Q_FUNC_INFO;
@ -355,6 +362,8 @@ void KGreeter::authenticationCompleteCb(LightDMGreeter *ldmgreeter, gpointer ldm
return;
}
kgreeter->stopGlibPoll();
qApp->quit();
}