[Kde-bindings] Qt's use of global endl
caleb at aei-tech.com
Mon Jan 22 18:38:01 UTC 2007
I've been researching a crash, and I'm wondering if anyone else can recreate it:
It seems as though in QTextStream some global methods are defined as convenience
functions so that you can do this:
str << "something" << endl;
Where 'endl' is a global function defined in QTextStream so as to give it the same
workings as the cerr/cout/cin streams of standard C++.
However, I've found that if I load Qt4 qtruby into memory followed by another
library's ruby bindings, if the second library utilized any streamed output with
"endl"s in it, the program crashes. If I load the secondary library BEFORE loading
Qt4 qtruby, then everything is okay.
In my head I'm not sure why this is; I would have thought that the binding to endl
(after a "using namespace std;") would have been set at compile time so that runtime
loading wouldn't matter, but it seems to.
I'm curious if anyone else has seen this or can recreate it? I can't even think of
a good way to work around it, if it is truly what's happening here.
More information about the Kde-bindings