**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2007 Chris Moore
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
}
}
+ synfig::info("ValueNode::subsys_stop()");
ValueNode::subsys_stop();
+ synfig::info("Importer::subsys_stop()");
Importer::subsys_stop();
+ synfig::info("Target::subsys_stop()");
Target::subsys_stop();
+ synfig::info("Layer::subsys_stop()");
Layer::subsys_stop();
- Module::subsys_stop();
-
+ /*! \fixme For some reason, uncommenting the next line will cause things to crash.
+ This needs to be looked into at some point. */
+ // synfig::info("Module::subsys_stop()");
+ // Module::subsys_stop();
+ synfig::info("Exiting");
+
#if defined(HAVE_SIGNAL_H) && defined(SIGPIPE)
signal(SIGPIPE, SIG_DFL);
#endif
}
+static const String
+current_time()
+{
+ const int buflen = 50;
+ time_t t;
+ struct tm *lt;
+ char b[buflen];
+ time(&t);
+ lt = localtime(&t);
+ strftime(b, buflen, " [%X] ", lt);
+ return String(b);
+}
+
void
synfig::error(const char *format,...)
{
synfig::error(const String &str)
{
static Mutex mutex; Mutex::Lock lock(mutex);
- cerr<<"synfig("<<getpid()<<"): "<<_("error")<<": "+str<<endl;
+ cerr<<"synfig("<<getpid()<<")"<<current_time()<<_("error")<<": "+str<<endl;
}
void
synfig::warning(const String &str)
{
static Mutex mutex; Mutex::Lock lock(mutex);
- cerr<<"synfig("<<getpid()<<"): "<<_("warning")<<": "+str<<endl;
+ cerr<<"synfig("<<getpid()<<")"<<current_time()<<_("warning")<<": "+str<<endl;
}
void
synfig::info(const String &str)
{
static Mutex mutex; Mutex::Lock lock(mutex);
- cerr<<"synfig("<<getpid()<<"): "<<_("info")<<": "+str<<endl;
+ cerr<<"synfig("<<getpid()<<")"<<current_time()<<_("info")<<": "+str<<endl;
}