[gnome-games] libgames-support: Initialize setgid-io inside the scores backend



commit 20cf6c1c398a100f8a4ff9dc55328246edfc5198
Author: Robert Ancell <robert ancell canonical com>
Date:   Sun Jan 1 14:34:22 2012 +1100

    libgames-support: Initialize setgid-io inside the scores backend

 glines/src/glines.c                         |    4 ----
 gnibbles/src/main.c                         |    4 ----
 gnobots2/src/gnobots.c                      |    4 ----
 gnomine/src/Makefile.am                     |    4 ----
 gnomine/src/gnomine.vala                    |    4 ----
 gnotravex/src/Makefile.am                   |    4 ----
 gnotravex/src/gnotravex.vala                |    9 ---------
 gnotski/src/gnotski.c                       |    4 ----
 gtali/src/gyahtzee.c                        |    4 ----
 libgames-support/GnomeGamesSupport-1.0.vapi |    3 ---
 libgames-support/games-scores-backend.c     |    5 +++++
 libgames-support/games-setgid-io.c          |    4 +++-
 mahjongg/src/Makefile.am                    |    4 ----
 mahjongg/src/mahjongg.vala                  |    3 ---
 14 files changed, 8 insertions(+), 52 deletions(-)
---
diff --git a/glines/src/glines.c b/glines/src/glines.c
index 811d10d..cf07489 100644
--- a/glines/src/glines.c
+++ b/glines/src/glines.c
@@ -1505,10 +1505,6 @@ main (int argc, char *argv[])
   gboolean retval;
   GError *error = NULL;
 
-#ifdef ENABLE_SETGID
-  setgid_io_init ();
-#endif
-
   rgen = g_rand_new ();
 
   context = g_option_context_new (NULL);
diff --git a/gnibbles/src/main.c b/gnibbles/src/main.c
index 85ecd5b..51f3dbc 100644
--- a/gnibbles/src/main.c
+++ b/gnibbles/src/main.c
@@ -889,10 +889,6 @@ main (int argc, char **argv)
   gboolean retval;
   GError *error = NULL;
 
-#ifdef ENABLE_SETGID
-  setgid_io_init ();
-#endif
-
   g_set_application_name (_("Nibbles"));
 
   if (gtk_clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS) {
diff --git a/gnobots2/src/gnobots.c b/gnobots2/src/gnobots.c
index cff4607..ee150a7 100644
--- a/gnobots2/src/gnobots.c
+++ b/gnobots2/src/gnobots.c
@@ -145,10 +145,6 @@ main (int argc, char *argv[])
   gettimeofday (&tv, NULL);
   srand (tv.tv_usec);
 
-#ifdef ENABLE_SETGID
-  setgid_io_init ();
-#endif
-
   context = g_option_context_new (NULL);
   g_option_context_set_translation_domain (context, GETTEXT_PACKAGE);
   g_option_context_add_group (context, gtk_get_option_group (TRUE));
diff --git a/gnomine/src/Makefile.am b/gnomine/src/Makefile.am
index e2f19c3..c99155c 100644
--- a/gnomine/src/Makefile.am
+++ b/gnomine/src/Makefile.am
@@ -21,10 +21,6 @@ gnomine_VALAFLAGS = \
 	--vapidir $(top_srcdir)/libgames-support \
 	--pkg GnomeGamesSupport-1.0
 
-if ENABLE_SETGID
-gnomine_VALAFLAGS += -D ENABLE_SETGID
-endif
-
 gnomine_LDADD = \
 	$(top_builddir)/libgames-support/libgames-support.la \
 	$(GTK_LIBS)
diff --git a/gnomine/src/gnomine.vala b/gnomine/src/gnomine.vala
index e7ac8d1..ca72470 100644
--- a/gnomine/src/gnomine.vala
+++ b/gnomine/src/gnomine.vala
@@ -765,10 +765,6 @@ public class GnoMine : Gtk.Application
 
     public static int main (string[] args)
     {
-#if ENABLE_SETGID
-        GnomeGamesSupport.setgid_io_init ();
-#endif
-
         var context = new OptionContext ("");
         context.set_translation_domain (GETTEXT_PACKAGE);
         context.add_group (Gtk.get_option_group (true));
diff --git a/gnotravex/src/Makefile.am b/gnotravex/src/Makefile.am
index 61101b1..db3bacd 100644
--- a/gnotravex/src/Makefile.am
+++ b/gnotravex/src/Makefile.am
@@ -14,10 +14,6 @@ gnotravex_VALAFLAGS = \
 	--vapidir $(top_srcdir)/libgames-support \
 	--pkg GnomeGamesSupport-1.0
 
-if ENABLE_SETGID
-gnotravex_VALAFLAGS += -D ENABLE_SETGID
-endif
-
 gnotravex_CFLAGS = \
 	-I$(top_srcdir)/libgames-support \
 	-DVERSION=\"$(VERSION)\" \
diff --git a/gnotravex/src/gnotravex.vala b/gnotravex/src/gnotravex.vala
index 3875182..042b184 100644
--- a/gnotravex/src/gnotravex.vala
+++ b/gnotravex/src/gnotravex.vala
@@ -31,13 +31,6 @@ public class Gnotravex : Gtk3.Application
     {
         base.startup ();
 
-        if (!GnomeGamesSupport.runtime_init ("gnotravex"))
-            Posix.exit (Posix.EXIT_FAILURE);
-
-#if ENABLE_SETGID
-        GnomeGamesSupport.setgid_io_init ();
-#endif
-
         Environment.set_application_name (_("Tetravex"));
         GnomeGamesSupport.stock_init ();
         Gtk.Window.set_default_icon_name ("gnotravex");
@@ -112,8 +105,6 @@ public class Gnotravex : Gtk3.Application
 
     protected override void shutdown ()
     {
-        GnomeGamesSupport.runtime_shutdown ();
-
         base.shutdown ();
     }
 
diff --git a/gnotski/src/gnotski.c b/gnotski/src/gnotski.c
index fbd7dfc..3a614b7 100644
--- a/gnotski/src/gnotski.c
+++ b/gnotski/src/gnotski.c
@@ -462,10 +462,6 @@ main (int argc, char **argv)
   gboolean retval;
   GError *error = NULL;
 
-#ifdef ENABLE_SETGID
-  setgid_io_init ();
-#endif
-
   context = g_option_context_new (NULL);
   g_option_context_set_translation_domain (context, GETTEXT_PACKAGE);
   g_option_context_add_group (context, gtk_get_option_group (TRUE));
diff --git a/gtali/src/gyahtzee.c b/gtali/src/gyahtzee.c
index 5bea19e..be26f44 100644
--- a/gtali/src/gyahtzee.c
+++ b/gtali/src/gyahtzee.c
@@ -879,10 +879,6 @@ main (int argc, char *argv[])
   gboolean retval;
   GError *error = NULL;
 
-#ifdef ENABLE_SETGID
-  setgid_io_init ();
-#endif
-
   /* Reset all yahtzee variables before parsing args */
   YahtzeeInit ();
 
diff --git a/libgames-support/GnomeGamesSupport-1.0.vapi b/libgames-support/GnomeGamesSupport-1.0.vapi
index 106918f..9754314 100644
--- a/libgames-support/GnomeGamesSupport-1.0.vapi
+++ b/libgames-support/GnomeGamesSupport-1.0.vapi
@@ -53,9 +53,6 @@ namespace GnomeGamesSupport
     [CCode (cheader_filename = "games-stock.h")]
     public static string get_license (string game_name);
 
-    [CCode (cheader_filename = "games-setgid-io.h", cname = "setgid_io_init")]
-    public static void setgid_io_init ();
-
     [CCode (cheader_filename = "games-settings.h")]    
     public static void settings_bind_window_state (string path, Gtk.Window window);
 
diff --git a/libgames-support/games-scores-backend.c b/libgames-support/games-scores-backend.c
index 4a1b8c2..7a4b49f 100644
--- a/libgames-support/games-scores-backend.c
+++ b/libgames-support/games-scores-backend.c
@@ -35,6 +35,9 @@
 #endif
 
 struct GamesScoresBackendPrivate {
+#ifdef ENABLE_SETGID
+  gboolean setgid_io_initialized;
+#endif
   GList *scores_list;
   GamesScoreStyle style;
   time_t timestamp;
@@ -175,6 +178,8 @@ games_scores_backend_get_scores (GamesScoresBackend * self)
   int error;
   ssize_t length, target;
   GList *t;
+  
+  setgid_io_init ();
 
   /* Check for a change in the scores file and update if necessary. */
   error = setgid_io_stat (self->priv->filename, &info);
diff --git a/libgames-support/games-setgid-io.c b/libgames-support/games-setgid-io.c
index 905932f..f175c15 100644
--- a/libgames-support/games-setgid-io.c
+++ b/libgames-support/games-setgid-io.c
@@ -525,7 +525,9 @@ setgid_io_init (void)
   int setgid_io_inpipe[2];
   int setgid_io_outpipe[2];
 
-  g_return_if_fail (setgid_io_initialised == 0);
+  if (setgid_io_initialised)
+    return;
+
   if (pipe (setgid_io_inpipe) != 0){
     g_warning("Unable to create pipe");
   }
diff --git a/mahjongg/src/Makefile.am b/mahjongg/src/Makefile.am
index 6965634..05c9485 100644
--- a/mahjongg/src/Makefile.am
+++ b/mahjongg/src/Makefile.am
@@ -20,10 +20,6 @@ mahjongg_CFLAGS = \
 	-DDATA_DIRECTORY=\"$(datadir)/mahjongg\" \
 	$(GTK_CFLAGS)
 
-if ENABLE_SETGID
-mahjongg_VALAFLAGS += -D ENABLE_SETGID
-endif
-		
 mahjongg_LDADD = \
 	$(top_builddir)/libgames-support/libgames-support.la \
 	$(GTK_LIBS)	\
diff --git a/mahjongg/src/mahjongg.vala b/mahjongg/src/mahjongg.vala
index 21d97c4..4838cfb 100644
--- a/mahjongg/src/mahjongg.vala
+++ b/mahjongg/src/mahjongg.vala
@@ -786,9 +786,6 @@ public class Mahjongg : Gtk.Application
             return Posix.EXIT_FAILURE;
         }
 
-#if ENABLE_SETGID
-        GnomeGamesSupport.setgid_io_init ();
-#endif
         GnomeGamesSupport.stock_init ();
 
         Environment.set_application_name (_("Mahjongg"));



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]