Problems with libglademm - internal-child vbox



Greetings!  I believe I have a bug report for libglademm.  I recently
tried to build and run the Om synthesizer:

http://www.nongnu.org/om-synth/

The Om engine and GUI built without complaint (after building and
installing the current releases of libsigc++ (2.0.16), glibmm (2.6.1),
gtkmm (2.6.4), libglademm (2.6.0), and a few other things).  When I try
to run the GUI, however, I run into trouble.  After displaying a few
lines related to the establishment of communication with the Om engine,
the following warning is displayed twice:


(om_gtk:24421): libglade-WARNING **: could not find a parent that
handles internal children for `vbox'


This is followed by a screenful of messages along the lines of:


(om_gtk:24421): libglademm-CRITICAL **: widget `foo' not found in glade
file `/usr/share/om-gtk/om_gtk.glade'
** (om_gtk:24421): CRITICAL **: Gnome::Glade::Xml::get_widget():
dynamic_cast<> failed.


At the end of this string of messages, I get a segfault.  All the
widgets named by the critical messages do, in fact, exist inside the
file in question, but they are children of the two vboxes which are
being discarded in the first pairs of messages.

After a bit of research and experimentation, it would seem that the
problem lies in the way libglademm handles the <child
internal-child="vbox"> tags, inside widgets derrived from GtkDialog.  In
fact, I can reproduce the problem on my system by making a slight
modification to the file:

libglademm-2.6.0/examples/basic/basic.glade

If I change the class of the root widget from 'GtkDialog' to
'GtkFileChooserDialog', the 'basic' program produces the following output:


(lt-basic:24556): libglade-WARNING **: could not find a parent that
handles internal children for `vbox'

(lt-basic:24556): libglademm-CRITICAL **: widget `quit_button' not found
in glade file `basic.glade'

** (lt-basic:24556): CRITICAL **: Gnome::Glade::Xml::get_widget():
dynamic_cast<> failed.


The GtkFileChooserDialog is then displayed, sans label and button.  The
modified 'basic.glade' file opens without errors or warnings in glade-2,
however, and shows both of the missing widgets - suggesting that the
syntax and structure of the file is still, in fact, quite valid and correct.

I've attached a modified copy of 'basic.glade'.  I'd be interested to
know if others can reproduce this problem.  Let me know what else I can
do to help squash this bug.  I suspect that someone who is more familiar
with Glade/libglade/libglademm would be able to find and fix the trouble
far more quickly than I could.

FWIW, I'm running Slackware 10.1.  GTK in 10.1 has been updated (for
security) to the following versions:

  atk 1.9.1
glib2 2.6.4
gtk+2 2.6.7
pango 1.8.1

I also tried downgrading to the versions from the Slackware 10.1 CD:

  atk 1.9.0
glib2 2.6.1
gtk+2 2.6.1
pango 1.8.0

With no effect.

Lastly, I tried to check out an anonymous CVS copy of libglademm, but
the server is currently responding with "anonymous: no such user" messages.

TTFN,

|)
|)enji




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