Ticket #246: sugar-246.patch

File sugar-246.patch, 2.0 KB (added by alsroot, 15 years ago)
  • src/sugar/_sugarext.defs

    From 5ced3525235deee7df5585a8fa6e0c8ffba452f4 Mon Sep 17 00:00:00 2001
    From: Aleksey Lim <alsroot@member.fsf.org>
    Date: Thu, 24 Sep 2009 13:14:36 +0000
    Subject: Shutdown/Reboot fails when multiple users are logged in #246
    
    ---
     src/sugar/_sugarext.defs |    6 ++++++
     src/sugar/gsm-session.c  |   12 ++++++++++++
     src/sugar/gsm-session.h  |    2 ++
     3 files changed, 20 insertions(+), 0 deletions(-)
    
    diff --git a/src/sugar/_sugarext.defs b/src/sugar/_sugarext.defs
    index a6befa4..e36034d 100644
    a b  
    345345  (return-type "none")
    346346)
    347347
     348(define-method cancel_shutdown
     349  (of-object "GsmSession")
     350  (c-name "gsm_session_cancel_shutdown")
     351  (return-type "none")
     352)
     353
    348354(define-method register_client
    349355  (of-object "GsmSession")
    350356  (c-name "gsm_session_register_client")
  • src/sugar/gsm-session.c

    diff --git a/src/sugar/gsm-session.c b/src/sugar/gsm-session.c
    index fd3c52f..6430a94 100644
    a b session_cancel_shutdown (GsmSession *session) 
    344344    gsm_client_shutdown_cancelled (cl->data);
    345345}
    346346
     347void
     348gsm_session_cancel_shutdown (GsmSession *session)
     349{
     350  if (session == NULL || session->phase != GSM_SESSION_PHASE_SHUTDOWN)
     351    {
     352      g_warning ("Session is not in shutdown mode");
     353      return;
     354    }
     355
     356  session_cancel_shutdown (session);
     357}
     358
    347359static void
    348360initiate_shutdown (GsmSession *session)
    349361{
  • src/sugar/gsm-session.h

    diff --git a/src/sugar/gsm-session.h b/src/sugar/gsm-session.h
    index 7b23b00..31d2762 100644
    a b GsmSessionPhase gsm_session_get_phase (GsmSession *session); 
    8484
    8585void             gsm_session_initiate_shutdown (GsmSession *session);
    8686
     87void             gsm_session_cancel_shutdown   (GsmSession *session);
     88
    8789char            *gsm_session_register_client   (GsmSession *session,
    8890                                                GsmClient  *client,
    8991                                                const char *previous_id);