From 1f0b4332e325c103e0ff2868f996d57efd069e4c Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 27 Jul 2015 20:23:47 +0200 Subject: [PATCH] Add softspace flag to StreamWriter - fixes print spaces in runtime env --- dtool/src/interrogate/interrogateBuilder.cxx | 5 +++-- dtool/src/prc/streamWriter.I | 17 +++++++++++++---- dtool/src/prc/streamWriter.h | 6 ++++++ 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/dtool/src/interrogate/interrogateBuilder.cxx b/dtool/src/interrogate/interrogateBuilder.cxx index e6babb17f7..5336c809f8 100644 --- a/dtool/src/interrogate/interrogateBuilder.cxx +++ b/dtool/src/interrogate/interrogateBuilder.cxx @@ -1434,8 +1434,9 @@ scan_element(CPPInstance *element, CPPStructType *struct_type, return 0; } - if (element->_file._source != CPPFile::S_local || - in_ignorefile(element->_file._filename_as_referenced)) { + if (struct_type == NULL && + (element->_file._source != CPPFile::S_local || + in_ignorefile(element->_file._filename_as_referenced))) { // The element is defined in some other package or in an // ignorable file. return 0; diff --git a/dtool/src/prc/streamWriter.I b/dtool/src/prc/streamWriter.I index f92a24416e..ce4500a475 100644 --- a/dtool/src/prc/streamWriter.I +++ b/dtool/src/prc/streamWriter.I @@ -16,10 +16,13 @@ //////////////////////////////////////////////////////////////////// // Function: StreamWriter::Constructor // Access: Public -// Description: +// Description: //////////////////////////////////////////////////////////////////// INLINE StreamWriter:: -StreamWriter(ostream &out) : +StreamWriter(ostream &out) : +#ifdef HAVE_PYTHON + softspace(0), +#endif _out(&out), _owns_stream(false) { @@ -28,10 +31,13 @@ StreamWriter(ostream &out) : //////////////////////////////////////////////////////////////////// // Function: StreamWriter::Constructor // Access: Published -// Description: +// Description: //////////////////////////////////////////////////////////////////// INLINE StreamWriter:: -StreamWriter(ostream *out, bool owns_stream) : +StreamWriter(ostream *out, bool owns_stream) : +#ifdef HAVE_PYTHON + softspace(0), +#endif _out(out), _owns_stream(owns_stream) { @@ -45,6 +51,9 @@ StreamWriter(ostream *out, bool owns_stream) : //////////////////////////////////////////////////////////////////// INLINE StreamWriter:: StreamWriter(const StreamWriter ©) : +#ifdef HAVE_PYTHON + softspace(0), +#endif _out(copy._out), _owns_stream(false) { diff --git a/dtool/src/prc/streamWriter.h b/dtool/src/prc/streamWriter.h index cd6f20e6e1..b63feaf6b1 100644 --- a/dtool/src/prc/streamWriter.h +++ b/dtool/src/prc/streamWriter.h @@ -81,6 +81,12 @@ PUBLISHED: private: ostream *_out; bool _owns_stream; + +#ifdef HAVE_PYTHON +PUBLISHED: + // Python 2 needs this for printing to work correctly. + int softspace; +#endif }; #include "streamWriter.I"