diff -r 8c6268ce4e99 -r e89bf4430ea6 pidgin/gtkmain.c --- a/pidgin/gtkmain.c Sat Jun 16 23:30:55 2007 +0000 +++ b/pidgin/gtkmain.c Sun Jun 17 00:08:13 2007 +0000 @@ -431,6 +431,7 @@ gboolean opt_login = FALSE; gboolean opt_nologin = FALSE; gboolean opt_version = FALSE; + gboolean opt_si = TRUE; /* Check for single instance? */ char *opt_config_dir_arg = NULL; char *opt_login_arg = NULL; char *opt_session_arg = NULL; @@ -570,7 +571,7 @@ opterr = 1; while ((opt = getopt_long(argc, argv, #ifndef _WIN32 - "c:dhnl::s:v", + "c:dhmnl::s:v", #else "c:dhnl::v", #endif @@ -602,6 +603,9 @@ case 'v': /* version */ opt_version = TRUE; break; + case 'm': /* do not ensure single instance. */ + opt_si = FALSE; + break; case '?': /* show terse help */ default: show_usage(argv[0], TRUE); @@ -728,7 +732,7 @@ abort(); } - if (!purple_core_ensure_single_instance()) { + if (opt_si && !purple_core_ensure_single_instance()) { purple_core_quit(); #ifdef HAVE_SIGNAL_H g_free(segfault_message);