[glade--]Incorporating workaround for GCC 2.95.x dynamic_cast bug



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





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]