...
This commit is contained in:
parent
b1c7811e89
commit
3886f0ecac
3 changed files with 28 additions and 9 deletions
|
@ -196,11 +196,12 @@ msm_client_begin_interact (MsmClient *client)
|
|||
SmsInteract (client->cnxn);
|
||||
}
|
||||
|
||||
void
|
||||
msm_client_save (MsmClient *client,
|
||||
gboolean allow_interaction,
|
||||
gboolean shut_down)
|
||||
{
|
||||
static void
|
||||
internal_save (MsmClient *client,
|
||||
int save_style,
|
||||
gboolean allow_interaction,
|
||||
gboolean shut_down)
|
||||
{
|
||||
if (client->state != MSM_CLIENT_STATE_IDLE)
|
||||
{
|
||||
msm_warning (_("Tried to save client '%s' but it was not in the idle state\n"),
|
||||
|
@ -212,12 +213,30 @@ msm_client_save (MsmClient *client,
|
|||
client->state = MSM_CLIENT_STATE_SAVING;
|
||||
|
||||
SmsSaveYourself (client->cnxn,
|
||||
SmSaveBoth, /* This arg makes no sense whatsoever */
|
||||
save_style,
|
||||
shut_down,
|
||||
allow_interaction ? SmInteractStyleAny : SmInteractStyleNone,
|
||||
FALSE /* not "fast" */);
|
||||
}
|
||||
|
||||
void
|
||||
msm_client_save (MsmClient *client,
|
||||
gboolean allow_interaction,
|
||||
gboolean shut_down)
|
||||
{
|
||||
internal_save (client, SmSaveBoth, /* ? don't know what to do here */
|
||||
allow_interaction, shut_down);
|
||||
}
|
||||
|
||||
void
|
||||
msm_client_initial_save (MsmClient *client)
|
||||
{
|
||||
/* This is the save on client registration in the spec under
|
||||
* RegisterClientReply
|
||||
*/
|
||||
internal_save (client, SmSaveLocal, allow_interaction, shut_down);
|
||||
}
|
||||
|
||||
void
|
||||
msm_client_shutdown_cancelled (MsmClient *client)
|
||||
{
|
||||
|
|
|
@ -83,6 +83,7 @@ void msm_client_begin_interact (MsmClient *client);
|
|||
void msm_client_save (MsmClient *client,
|
||||
gboolean allow_interaction,
|
||||
gboolean shut_down);
|
||||
void msm_client_initial_save (MsmClient *client);
|
||||
void msm_client_shutdown_cancelled (MsmClient *client);
|
||||
void msm_client_phase2_request (MsmClient *client);
|
||||
void msm_client_save_phase2 (MsmClient *client);
|
||||
|
|
|
@ -238,9 +238,8 @@ register_client_callback (SmsConn cnxn,
|
|||
|
||||
free (id);
|
||||
|
||||
/* FIXME ksm and gnome-session send a SaveYourself to the client
|
||||
* here. I don't understand why though.
|
||||
*/
|
||||
/* SM spec requires this initial SaveYourself. */
|
||||
msm_client_initial_save (client);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue