--- rxvt-unicode/src/rxvtd.C 2007/12/04 16:24:00 1.41 +++ rxvt-unicode/src/rxvtd.C 2008/02/19 18:58:05 1.45 @@ -3,7 +3,7 @@ *----------------------------------------------------------------------* * * All portions of code are copyright by their respective author/s. - * Copyright (c) 2003-2006 Marc Lehmann + * Copyright (c) 2003-2007 Marc Lehmann * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -198,11 +198,11 @@ term->log_hook = &log_cb; term->getfd_hook = &getfd_cb; - bool success; + bool success = true; try { - success = term->init (argv, envv); + term->init (argv, envv); } catch (const class rxvt_failure_exception &e) { @@ -248,14 +248,16 @@ } } - chdir ("/"); - + // optionally open display and never release it. if (opt_opendisplay) - displays.get (getenv ("DISPLAY")); // open display and never release it + if (const char *dpy = getenv ("DISPLAY")) + displays.get (dpy ? dpy : ":0"); // move string logic into rxvt_display maybe? char *sockname = rxvt_connection::unix_sockname (); unix_listener l (sockname); + chdir ("/"); + if (!opt_quiet) { printf ("rxvt-unicode daemon listening on %s.\n", sockname);