On Sun, 2 Dec 2007, Gezim Hoxha <[EMAIL PROTECTED]> wrote : > >So, now this code works: > Gtk::VolumeButton *my1223 = new Gtk::VolumeButton; > myvbox->pack_end(*my1223); > my1223->show(); > >but this doesn't: > Gtk::VolumeButton my1223; > myvbox->pack_end(my1223); > my1223.show(); > >and my question is, why doesn't this last code work? > Is this code in a function / method? Because if so the explanation is simple. The second form creates a _local_ _temporary_ Gtk::VolumeButton object and packs then shows it. And then the function / method terminates and all local objects are destroyed, including the widget.
The first form makes the widget on the heap and only destroys a pointer to it. -- Rob Pearce http://www.bdt-home.demon.co.uk The contents of this | Windows NT crashed. message are purely | I am the Blue Screen of Death. my opinion. Don't | No one hears your screams. believe a word. | _______________________________________________ gtkmm-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtkmm-list
