But that bit of code only runs the first time and the first time it
works.
On 24 Dec 2009, at 19:09, Tristan Van Berkom wrote:
From the assertions it *looks* like glade_xml_get_widget() is
returning NULL for "mainvbox".
Cheers,
-Tristan
On Thu, Dec 24, 2009 at 11:29 AM, Andrew Wood <ajw...@theiet.org>
wrote:
The following function is called to display a vbox, which is read
from a
glade file, in a scrollview.
If the vbox or 'page' hasnt been displayed before then
generalpageinitialised will be false.
There are other 'pages' in the app which are vboxes read from a
glade file
in the same way. The app always shows the vbox called rightpanevbox
and it
swaps this variable to point to the appropriate one read from glade.
The first time the function is called the page shows perfectly. The
second
time I get errors such as:
Showing General Page
doing gtk_container_remove
(a.out:21153): Gtk-CRITICAL **: gtk_container_remove: assertion
`GTK_IS_WIDGET (widget)' failed
done gtk_container_remove
(a.out:21153): GLib-GObject-WARNING **: invalid unclassed pointer
in cast to
`GtkWidget'
(a.out:21153): Gtk-CRITICAL **:
gtk_scrolled_window_add_with_viewport:
assertion `GTK_IS_WIDGET (child)' failed
(a.out:21153): GLib-GObject-WARNING **: invalid unclassed pointer
in cast to
`GtkWidget'
(a.out:21153): Gtk-CRITICAL **: gtk_widget_show_all: assertion
`GTK_IS_WIDGET (widget)' failed
I cant understand why its happy the first time its called but not on
subsequent calls. If anyone can enlighten me Id be very grateful
Thanks
void showGeneralPage()
{
g_print("Showing General Page\n");
if (generalpageinitialised==false)
{
generalpage= glade_xml_get_widget(generalpagexml,"mainvbox");
glade_xml_signal_autoconnect(generalpagexml);
generalpageinitialised=true;
}
if (pagedisplayed!="INIT")
{
//a previous page is shown so we need to remove it first
g_print("doing gtk_container_remove\n");
gtk_container_remove (GTK_CONTAINER
(rightpanescrollview
),gtk_bin_get_child(GTK_BIN(rightpanescrollview)));
g_print("done gtk_container_remove\n");
}
rightpanevbox=generalpage; //make generalpage the one currently
on show
pagedisplayed = "General";
gtk_scrolled_window_add_with_viewport
(GTK_SCROLLED_WINDOW(rightpanescrollview),GTK_WIDGET(rightpanevbox));
gtk_widget_show_all(GTK_WIDGET(rightpanevbox));
}
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list