[glade--]Incorporating workaround for GCC 2.95.x dynamic_cast bug
"Ansgar W. Konermann" <[email protected]> Mon, 26 Jan 2004 04:18:47 +0100
| Newsgroups | gmane.comp.gnome.glademm |
|---|---|
| Organization | itikko informatik, Dresden, Germany |
| Message-ID | <[email protected]> |
Hello everybody, a bug in GCC 2.95.x causes a segmentation violation when running c++ code generated by glade--. Details can be found here: http://bugzilla.gnome.org/show_bug.cgi?id=78578 (please read) There's a straightforward workaround for this: simply do not add child widgets inside the default constructor. Glade-- does this, however. I'd like to have all source code generated by glade-- to be usable with gcc 2.95, so i'd like to change the code generation of glade-- a little bit. Instead of adding child widgets inside the default constructor, I want glade-- to: * in <ClassName>_glade.(cc|hh), create a protected member function named create<ClassName>Childs() which contains all the child construction code (moved from the constructor) * call this code from the constructor of my derived class (named <ClassName>.cc This looks very simple to me, and if it's done manually is not a lot of work. However, I'd like to have this done automatically by glade--. I understand from the source code that there's a state machine involved, and that there exists a class containing all the code generation stuff (Cxx). But I'm a bit overwhelmed by that code and don't know where to make the appropriate changes/additions to move the child widget construction code into a separate member function, and to call this member function from my derived class. I'd be glad if someone could give me a hint or two. -- Best regards, Ansgar W. Konermann