summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hartwig <mandyke@gmail.com>2012-03-23 01:15:16 +0800
committerDaniel Hartwig <mandyke@gmail.com>2012-03-23 01:15:16 +0800
commit0a4f62b4fa1f4d89fbd70dc7e185a54194aecb40 (patch)
treed8a2f1935118978b16dac7830fc0ddf41595cfc3
parent3807136e455b670ca078e5c1144635c18142f410 (diff)
downloadaptitude-0a4f62b4fa1f4d89fbd70dc7e185a54194aecb40.tar.gz
[curses] Hack to prevent debug messages dumping to the screen
Closes: #651748
-rw-r--r--src/generic/problemresolver/problemresolver.h4
-rw-r--r--src/main.cc16
2 files changed, 13 insertions, 7 deletions
diff --git a/src/generic/problemresolver/problemresolver.h b/src/generic/problemresolver/problemresolver.h
index 4da6b7a6..216b071a 100644
--- a/src/generic/problemresolver/problemresolver.h
+++ b/src/generic/problemresolver/problemresolver.h
@@ -62,6 +62,7 @@
#include <cwidget/generic/threads/threads.h>
#include <cwidget/generic/util/eassert.h>
+#include <cwidget/curses++.h>
#include <generic/util/dense_setset.h>
#include <generic/util/maybe.h>
@@ -3730,7 +3731,8 @@ private:
logging::LoggerPtr logger,
const std::string &msg)
{
- if(debug)
+ // HACK: Block logging to stdout if running in curses (c.f. main.cc)
+ if(debug && (cwidget::rootwin == (cwidget::cwindow) NULL))
std::cout << msg << std::endl;
}
diff --git a/src/main.cc b/src/main.cc
index 1a42fc24..d09344c9 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -568,12 +568,16 @@ void handle_message_logged(const char *sourceFilename,
const std::string &filename)
{
if(filename == "-")
- do_message_logged(std::cout,
- sourceFilename,
- sourceLineNumber,
- level,
- logger,
- msg);
+ {
+ // HACK: Block logging to stdout if running in curses (c.f. problemresolver.h)
+ if(cw::rootwin == (cw::cwindow) NULL)
+ do_message_logged(std::cout,
+ sourceFilename,
+ sourceLineNumber,
+ level,
+ logger,
+ msg);
+ }
else
{
std::ofstream f(filename.c_str(), std::ios::app);