Index: braille/test/remote.c
===================================================================
RCS file: /cvs/gnome/gnopernicus/braille/test/remote.c,v
retrieving revision 1.16
diff -u -p -r1.16 remote.c
--- braille/test/remote.c	31 Aug 2005 09:51:51 -0000	1.16
+++ braille/test/remote.c	28 Mar 2006 22:10:24 -0000
@@ -104,13 +104,13 @@ static	gchar  		*serial_port;
 /* GLOBALS */
 GMainLoop* g_loop  = NULL;
 
-struct poptOption poptopt[] = 
+static const GOptionEntry options[] = 
     {		
-	{"device", 	'd', POPT_ARG_STRING, 	&device,  	'd', "Braille Device", 		"device_name"},
-	{"serial", 	's', POPT_ARG_STRING, 	&serial_port,	's', "Serial port (ttyS)", 	"serial_port"},
-	{"port", 	'p', POPT_ARG_INT, 	&hostport,  	'p', "UDP port number", 	"port_no"},
-	{"ip", 		'i', POPT_ARG_STRING, 	&hostip, 	'i', "Restricted host ip ", 	"ip"},
-	{NULL, 		0,0, NULL, 0}
+	{"device", 	'd', 0, G_OPTION_ARG_STRING, 	&device,  	N_("Braille Device"),		N_("device_name")},
+	{"serial", 	's', 0, G_OPTION_ARG_STRING, 	&serial_port,	N_("Serial port (ttyS)"), 	N_("serial_port")},
+	{"port", 	'p', 0, G_OPTION_ARG_INT, 	&hostport,  	N_("UDP port number"),		N_("port_no")},
+	{"ip", 		'i', 0, G_OPTION_ARG_STRING, 	&hostip, 	N_("Restricted host ip "), 	N_("ip")},
+	{NULL}
     };
 
 
@@ -527,6 +527,8 @@ brl_create_server_udp()
 gint 
 main (gint argc, gchar** argv)
 {
+    GnomeProgram *program;
+    GOptionContext *context;
 #ifdef ENABLE_NLS
     bindtextdomain (GETTEXT_PACKAGE, GNOPERNICUSLOCALEDIR);
     textdomain (GETTEXT_PACKAGE);
@@ -535,15 +537,18 @@ main (gint argc, gchar** argv)
 #endif
 #endif    
 
+    context = g_option_context_new (NULL);
+    g_option_context_add_main_entries (context, options, GETTEXT_PACKAGE);
+
     serial_port = NULL;
 	
     hostport = -1;
     	
-    gnome_program_init ("Braille_remote", VERSION,
-		        LIBGNOMEUI_MODULE, argc, argv,
-		        GNOME_PARAM_POPT_TABLE, poptopt,
-		        GNOME_PARAM_HUMAN_READABLE_NAME, _("Braille remote"),
-		        NULL);
+    program = gnome_program_init ("Braille_remote", VERSION,
+				  LIBGNOMEUI_MODULE, argc, argv,
+				  GNOME_PARAM_GOPTION_CONTEXT, context,
+				  GNOME_PARAM_HUMAN_READABLE_NAME, _("Braille remote"),
+				  NULL);
 
     if (!brl_gconf_client_init()) 
 	return -1;
@@ -606,6 +611,8 @@ main (gint argc, gchar** argv)
     brl_in_xml_terminate (); 		
 	
     g_free(hostip);
+
+    g_object_unref (program);
 
     printf ("Braille remote end.\n");	
 	
Index: configure.in
===================================================================
RCS file: /cvs/gnome/gnopernicus/configure.in,v
retrieving revision 1.192
diff -u -p -r1.192 configure.in
--- configure.in	25 Mar 2006 07:40:54 -0000	1.192
+++ configure.in	28 Mar 2006 22:10:25 -0000
@@ -143,14 +143,6 @@ dnl NOTE: We need to use a separate auto
 dnl   	  to make this work with the tarballs.
 AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
 
-dnl **********************************************************************
-dnl Check for popt version
-dnl **********************************************************************
-
-AC_CHECK_LIB(popt, poptDupArgv,,
-AC_MSG_ERROR([You must have popt 1.5 or greater to compile the utilities.]))
-
-
 dnl ***************************************************************************
 dnl *               deal with diffrent OSs for BRAILLE (serial port)          *
 dnl ***************************************************************************
Index: gnopi/gnopi.c
===================================================================
RCS file: /cvs/gnome/gnopernicus/gnopi/gnopi.c,v
retrieving revision 1.81
diff -u -p -r1.81 gnopi.c
--- gnopi/gnopi.c	8 Feb 2006 09:09:36 -0000	1.81
+++ gnopi/gnopi.c	28 Mar 2006 22:10:25 -0000
@@ -145,119 +145,118 @@ static gboolean gn_login = FALSE;
 static gchar   *gn_braille_device = NULL;
 static gint     gn_braille_port = -1;
 
-struct poptOption poptopt[] = 
+static const GOptionEntry options[] = 
     {		
 	{
-	 "default", 	
-	 'd', 	
-	 POPT_ARG_NONE, 
-	 &gn_defaultmode, 	
-	 0, 
-	 "Launch in execution with default settings", 
+	 "default",
+	 'd',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &gn_defaultmode,
+	 N_("Launch in execution with default settings"),
 	 NULL
 	},
 	{
-	 "enable-braille",	
-	 'b', 	
-	 POPT_ARG_NONE, 
-	 &gn_braille_enable,		
-	 0, 
-	 "enable braille service", 
+	 "enable-braille",
+	 'b',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &gn_braille_enable,
+	 N_("enable braille service"),
 	 NULL
 	},
 	{
-	 "disable-braille",	
-	 'B', 	
-	 POPT_ARG_NONE, 
-	 &gn_braille_disable,		
-	 0, 
-	 "enable braille service", 
+	 "disable-braille",
+	 'B',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &gn_braille_disable,
+	 N_("enable braille service"),
 	 NULL
 	},
 	{
-	 "enable-speech",	
-	 's', 	
-	 POPT_ARG_NONE, 
-	 &gn_speech_enable,		
-	 0, 
-	 "enable speech service", 
+	 "enable-speech",
+	 's',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &gn_speech_enable, 
+	 N_("enable speech service"),
 	 NULL
 	},
 	{
-	 "disable-speech",	
-	 'S', 	
-	 POPT_ARG_NONE, 
-	 &gn_speech_disable,		
-	 0, 
-	 "disable speech service", 
+	 "disable-speech",
+	 'S',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &gn_speech_disable,
+	 N_("disable speech service"),
 	 NULL
 	},
 	{
-	 "enable-magnifier",	
-	 'm', 	
-	 POPT_ARG_NONE, 
-	 &gn_magnifier_enable,		
-	 0, 
-	 "enable magnifier service",  
+	 "enable-magnifier",
+	 'm',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &gn_magnifier_enable,
+	 N_("enable magnifier service"),
 	 NULL
 	},
 	{
-	 "disable-magnifier",	
-	 'M', 	
-	 POPT_ARG_NONE, 
-	 &gn_magnifier_disable,		
-	 0, 
-	 "disable magnifier service",  
+	 "disable-magnifier",
+	 'M',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &gn_magnifier_disable,
+	 N_("disable magnifier service"),
 	 NULL
 	},
-
 	{
-	 "enable-braille-monitor", 
-	 'o', 
-	 POPT_ARG_NONE, 
-	 &gn_braille_monitor_enable, 	
-	 0, 
-	 "enable braille monitor service", 
+	 "enable-braille-monitor",
+	 'o',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &gn_braille_monitor_enable,
+	 N_("enable braille monitor service"),
 	 NULL
 	},
 	{
-	 "disable-braille-monitor", 
-	 'O', 
-	 POPT_ARG_NONE, 
-	 &gn_braille_monitor_disable, 	
-	 0, 
-	 "disable braille monitor service", 
+	 "disable-braille-monitor",
+	 'O',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &gn_braille_monitor_disable,
+	 N_("disable braille monitor service"),
 	 NULL
 	},
 	{
-	 "login", 
-	 'l', 
-	 POPT_ARG_NONE, 
-	 &gn_login, 	
-	 0, 
-	 "Used at login time", 
+	 "login",
+	 'l',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &gn_login,
+	 N_("Used at login time"),
 	 NULL
 	},
 	{
-	 "braille-port", 
-	 'p',   
-	 POPT_ARG_INT,  
-	 &gn_braille_port, 	
-	 0, 
-	 "Serial port (ttyS)", 
-	 "ttyS[1..4]"
+	 "braille-port",
+	 'p',
+	 0,
+	 G_OPTION_ARG_INT,
+	 &gn_braille_port,
+	 N_("Serial port (ttyS)"),
+	 N_("ttyS[1..4]")
 	},
 	{
-	 "braille-device", 
-	 'e', 
-	 POPT_ARG_STRING, 
-	 &gn_braille_device, 	
-	 0, 
-	 "Braille Device", 
-	 "DEVICE NAME"
+	 "braille-device",
+	 'e',
+	 0,
+	 G_OPTION_ARG_STRING,
+	 &gn_braille_device,
+	 N_("Braille Device"),
+	 N_("DEVICE NAME")
 	},
 	{
-	 NULL, 0,     0, NULL, 0
+	 NULL
 	}
     };
 
@@ -267,6 +266,9 @@ main (gint argc,gchar *argv[])
     gint i;
     gchar **argv1;
     char source[20] = "--display=:0.0";
+    GnomeProgram *program;
+    GOptionContext *context;
+    gchar *description;
 
 #ifdef ENABLE_NLS
     bindtextdomain (GETTEXT_PACKAGE, GNOPERNICUSLOCALEDIR);
@@ -311,13 +313,18 @@ main (gint argc,gchar *argv[])
     }
     argv = argv1;
 
-    gnome_program_init ("gnopernicus", VERSION,
-			LIBGNOMEUI_MODULE,
-			argc, argv,
-			GNOME_PARAM_POPT_TABLE, poptopt,
-			GNOME_PARAM_HUMAN_READABLE_NAME, _("gnopernicus"),
-			GNOME_PARAM_APP_DATADIR, DATADIR,
-			NULL);
+    description = g_strdup_printf ("- %s", _("Assistive Technologies for Blind and Visually Impaired"));
+    context = g_option_context_new (description);
+    g_free (description);
+    g_option_context_add_main_entries (context, options, GETTEXT_PACKAGE);
+
+    program = gnome_program_init ("gnopernicus", VERSION,
+				  LIBGNOMEUI_MODULE,
+				  argc, argv,
+				  GNOME_PARAM_GOPTION_CONTEXT, context,
+				  GNOME_PARAM_HUMAN_READABLE_NAME, _("gnopernicus"),
+				  GNOME_PARAM_APP_DATADIR, DATADIR,
+				  NULL);
     sru_log_init ();
 
 /* FIXME the next line will be available only starting with gtk+ 2.6 */
@@ -387,6 +394,8 @@ main (gint argc,gchar *argv[])
     sru_log_terminate ();
     
     g_free (argv1);
+
+    g_object_unref (program);
     
     return EXIT_SUCCESS;
 }
Index: srcore/srmain.c
===================================================================
RCS file: /cvs/gnome/gnopernicus/srcore/srmain.c,v
retrieving revision 1.165
diff -u -p -r1.165 srmain.c
--- srcore/srmain.c	28 Sep 2005 11:44:43 -0000	1.165
+++ srcore/srmain.c	28 Mar 2006 22:10:30 -0000
@@ -2579,170 +2579,170 @@ main (gint argc, 
     gint  	zoom_factor     = 0;
     gboolean 	invert 	    	= FALSE;
     gboolean    horiz_split     = FALSE;
-    gboolean 	login_enabled	= FALSE;    
+    gboolean 	login_enabled	= FALSE;
+
+    GnomeProgram *program;
+    GOptionContext *context;
+    gchar *description;
 
     
-    struct poptOption poptopt[] = 
+    const GOptionEntry options[] = 
     {		
 	{
-	 "enable-braille",	
-	 'b', 	
-	 POPT_ARG_NONE, 
-	 &enable_braille,		
-	 0, 
-	 "Enable braille service", 
+	 "enable-braille",
+	 'b',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &enable_braille,
+	 N_("Enable braille service"),
 	 NULL
 	},
 	{
-	 "disable-braille",	
-	 'B', 	
-	 POPT_ARG_NONE, 
-	 &disable_braille,		
-	 0, 
-	 "Disable braille service", 
+	 "disable-braille",
+	 'B',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &disable_braille,
+	 N_("Disable braille service"),
 	 NULL
 	},
 	{
-	 "enable-speech",	
-	 's', 	
-	 POPT_ARG_NONE, 
-	 &enable_speech,		
-	 0, 
-	 "Enable speech service", 
+	 "enable-speech",
+	 's',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &enable_speech,
+	 N_("Enable speech service"),
 	 NULL
 	},
 	{
-	 "disable-speech",	
-	 'S', 	
-	 POPT_ARG_NONE, 
-	 &disable_speech,		
-	 0, 
-	 "Disable speech service", 
+	 "disable-speech",
+	 'S',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &disable_speech,
+	 N_("Disable speech service"),
 	 NULL
 	},
 	{
-	 "enable-magnifier",	
-	 'm', 	
-	 POPT_ARG_NONE, 
-	 &enable_magnifier,		
-	 0, 
-	 "Enable magnifier service",  
+	 "enable-magnifier",
+	 'm',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &enable_magnifier,
+	 N_("Enable magnifier service"),
 	 NULL
 	},
 	{
-	 "disable-magnifier",	
-	 'M', 	
-	 POPT_ARG_NONE, 
-	 &disable_magnifier,		
-	 0, 
-	 "Disable magnifier service",  
+	 "disable-magnifier",
+	 'M',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &disable_magnifier,
+	 N_("Disable magnifier service"),
 	 NULL
 	},
-
 	{
-	 "enable-braille-monitor", 
-	 'o', 
-	 POPT_ARG_NONE, 
-	 &enable_braille_monitor, 	
-	 0, 
-	 "Enable braille monitor service", 
+	 "enable-braille-monitor",
+	 'o',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &enable_braille_monitor,
+	 N_("Enable braille monitor service"),
 	 NULL
 	},
 	{
-	 "disable-braille-monitor", 
-	 'O', 
-	 POPT_ARG_NONE, 
-	 &disable_braille_monitor, 	
-	 0, 
-	 "Disable braille monitor service", 
+	 "disable-braille-monitor",
+	 'O',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &disable_braille_monitor,
+	 N_("Disable braille monitor service"),
 	 NULL
 	},
 	{
-	 "braille-port", 
-	 'p',   
-	 POPT_ARG_INT,  
-	 &braille_port, 	
-	 0, 
-	 "Serial port (ttyS)", 
-	 "ttyS[1..4]"
+	 "braille-port",
+	 'p',
+	 0,
+	 G_OPTION_ARG_INT,
+	 &braille_port,
+	 N_("Serial port (ttyS)"),
+	 N_("ttyS[1..4]")
 	},
 	{
-	 "braille-device", 
-	 'e', 
-	 POPT_ARG_STRING, 
-	 &braille_device, 	
-	 0, 
-	 "Braille Device", 
-	 "DEVICE NAME"
+	 "braille-device",
+	 'e',
+	 0,
+	 G_OPTION_ARG_STRING, 
+	 &braille_device,
+	 N_("Braille Device"),
+	 N_("DEVICE NAME")
 	},
 	{
-	"settings-dir", 
-	 'c', 
-	 POPT_ARG_STRING, 
-	 &config_source, 	
-	 0, 
-	 "Use gconf settings file", 
-	 "PATH"
+	"settings-dir",
+	 'c',
+	 0,
+	 G_OPTION_ARG_STRING,
+	 &config_source,
+	 N_("Use gconf settings file"),
+	 N_("PATH")
 	},
 	{
-	"magnification-zoom", 
-	 'z', 
-	 POPT_ARG_INT, 
-	 &zoom_factor, 	
-	 0, 
-	 "Set magnification zoom level", 
-	 "[1..16]"
+	"magnification-zoom",
+	 'z',
+	 0,
+	 G_OPTION_ARG_INT,
+	 &zoom_factor,
+	 N_("Set magnification zoom level"),
+	 N_("[1..16]")
 	},
 	{
-	"magnification-invert", 
-	 'i', 
-	 POPT_ARG_NONE, 
-	 &invert, 	
-	 0, 
-	 "Magnification with reverse video", 
-	 ""
+	"magnification-invert",
+	 'i',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &invert,
+	 N_("Magnification with reverse video"),
+	 NULL
 	},
-	
 	{
-	"magnification-horizontal-split", 
-	 'u', 
-	 POPT_ARG_NONE, 
-	 &horiz_split, 	
-	 0, 
-	 "Magnification with horizontal-split", 
-	 ""
+	"magnification-horizontal-split",
+	 'u',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &horiz_split,
+	 N_("Magnification with horizontal-split"),
+	 NULL
 	},
-	
 	{
-	"login", 
-	 'l', 
-	 POPT_ARG_NONE, 
-	 &login_enabled, 	
-	 0, 
-	 "Used at login time", 
-	 ""
+	"login",
+	 'l',
+	 0,
+	 G_OPTION_ARG_NONE,
+	 &login_enabled,
+	 N_("Used at login time"),
+	 NULL
 	},
 	{
-	"magnification-mouse-tracking", 
-	 't', 
-	 POPT_ARG_STRING, 
-	 &mouse_tracking, 	
-	 0, 
-	 "How the mouse pushed the region", 
-	 "[CENTERED, PROPORTION, PUSH, NONE]"
+	"magnification-mouse-tracking",
+	 't',
+	 0,
+	 G_OPTION_ARG_STRING,
+	 &mouse_tracking,
+	 N_("How the mouse pushed the region"),
+	 N_("[CENTERED, PROPORTION, PUSH, NONE]")
 	},
-
 	{
-	"magnification-focus-tracking", 
-	 'f', 
-	 POPT_ARG_STRING, 
-	 &focus_tracking, 	
-	 0, 
-	 "How the focus pushed the region", 
-	 "[AUTO, CENTERED, NONE]"
+	"magnification-focus-tracking",
+	 'f',
+	 0,
+	 G_OPTION_ARG_STRING,
+	 &focus_tracking,
+	 N_("How the focus pushed the region"),
+	 N_("[AUTO, CENTERED, NONE]")
 	},
 	{
-	 NULL, 0,     0, NULL, 0
+	 NULL
 	}
     };
     
@@ -2757,14 +2757,19 @@ main (gint argc, 
     fprintf (stderr, "\n**********************");
     fprintf (stderr, "\n* SCREEN READER CORE *");
     fprintf (stderr, "\n**********************\n\n");
-        
-    gnome_program_init ("srcore", VERSION,
-		    LIBGNOMEUI_MODULE,
-		    argc, argv,
-		    GNOME_PARAM_POPT_TABLE, poptopt,
-		    GNOME_PARAM_HUMAN_READABLE_NAME, _("srcore"),
-		    LIBGNOMEUI_PARAM_CRASH_DIALOG, FALSE,
-		    NULL);
+
+    description = g_strdup_printf ("- %s", _("Assistive Technologies for Blind and Visually Impaired"));
+    context = g_option_context_new (description);
+    g_free (description);
+    g_option_context_add_main_entries (context, options, GETTEXT_PACKAGE);
+
+    program = gnome_program_init ("srcore", VERSION,
+				  LIBGNOMEUI_MODULE,
+				  argc, argv,
+				  GNOME_PARAM_GOPTION_CONTEXT, context,
+				  GNOME_PARAM_HUMAN_READABLE_NAME, _("srcore"),
+				  LIBGNOMEUI_PARAM_CRASH_DIALOG, FALSE,
+				  NULL);
     sru_log_init ();
     
     login_time = FALSE;	
@@ -2811,6 +2816,8 @@ main (gint argc, 
     src_terminate ();
     
     sru_log_terminate ();
+
+    g_object_unref (program);
     
     return EXIT_SUCCESS;
 }
Index: brlmon/brlmon.c
===================================================================
RCS file: /cvs/gnome/gnopernicus/brlmon/brlmon.c,v
retrieving revision 1.44
diff -u -p -r1.44 brlmon.c
--- brlmon/brlmon.c	25 Jul 2005 14:21:48 -0000	1.44
+++ brlmon/brlmon.c	28 Mar 2006 22:10:30 -0000
@@ -164,13 +164,13 @@ extern GdkColor *brlmon_colors;
  * Main arg list.
  *
 **/
-struct poptOption poptopt[] = 
+static const GOptionEntry options[] = 
     {		
-	{"line", 	'l', POPT_ARG_INT, &brlmon_line,  'l', "Number of line on display [line_no >= 2].", "line_no"},
-	{"column", 	'c', POPT_ARG_INT, &brlmon_column,'c', "Number of column in line on display [column_no >= 1].", "column_no"},
-	{"port", 	'p', POPT_ARG_INT, &brlmon_cmd_port,  'p', "UDP port number [1025 - 30000] ", "port_no"},
-	{"mode", 	'm', POPT_ARG_STRING, &brlmon_cmd_mode,  'm', "Display Mode[normal|braille|dual] ", "modetype"},
-	{NULL, 		0,0, NULL, 0}
+	{"line", 	'l', 0, G_OPTION_ARG_INT, &brlmon_line,  N_("Number of line on display [line_no >= 2]."), N_("line_no")},
+	{"column", 	'c', 0, G_OPTION_ARG_INT, &brlmon_column,  N_("Number of column in line on display [column_no >= 1]."), N_("column_no")},
+	{"port", 	'p', 0, G_OPTION_ARG_INT, &brlmon_cmd_port,  N_("UDP port number [1025 - 30000] "), N_("port_no")},
+	{"mode", 	'm', 0, G_OPTION_ARG_STRING, &brlmon_cmd_mode,  N_("Display Mode[normal|braille|dual] "), N_("modetype")},
+	{NULL}
     };
 
 
@@ -178,6 +178,9 @@ gint 
 main (gint argc, gchar *argv[])
 {
     gboolean rv;
+    GnomeProgram *program;
+    GOptionContext *context;
+    gchar *description;
     
 #ifdef ENABLE_NLS
     bindtextdomain (GETTEXT_PACKAGE, GNOPERNICUSLOCALEDIR);
@@ -186,16 +189,21 @@ main (gint argc, gchar *argv[])
     bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
 #endif
 #endif    
-            
+
+    description = g_strdup_printf ("- %s", _("Assistive Technologies for Blind and Visually Impaired"));
+    context = g_option_context_new (description);
+    g_free (description);
+    g_option_context_add_main_entries (context, options, GETTEXT_PACKAGE);
+
     brlmon_initialize_values ();
 
-    gnome_program_init ("brlmonitor", VERSION,
-			LIBGNOMEUI_MODULE, 
-			argc, argv,
-			GNOME_PARAM_POPT_TABLE, poptopt,
-			GNOME_PARAM_HUMAN_READABLE_NAME, _("Braille monitor"),
-			GNOME_PARAM_APP_DATADIR, DATADIR,
-			NULL);
+    program = gnome_program_init ("brlmonitor", VERSION,
+				  LIBGNOMEUI_MODULE, 
+				  argc, argv,
+				  GNOME_PARAM_GOPTION_CONTEXT, context,
+				  GNOME_PARAM_HUMAN_READABLE_NAME, _("Braille monitor"),
+				  GNOME_PARAM_APP_DATADIR, DATADIR,
+				  NULL);
 		    
     sru_log_init ();
 
@@ -233,6 +241,8 @@ main (gint argc, gchar *argv[])
     brlmon_sock_terminate_glib_poll ();
     
     sru_log_terminate ();
+
+    g_object_unref (program);
     
     return EXIT_SUCCESS;
 }
