X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fcellrenderer_timetrack.cpp;h=c1e6c87dafcc4736895fa30a0f2d7770647974df;hb=c2813b4d63804cac9b4067146a9e6eca717cb3e4;hp=96f19b8370ddf180619fea125959926e7c33c816;hpb=39cc772bf2d4d1f750f2aef255248095a94fb13a;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/cellrenderer_timetrack.cpp b/synfig-studio/trunk/src/gtkmm/cellrenderer_timetrack.cpp index 96f19b8..c1e6c87 100644 --- a/synfig-studio/trunk/src/gtkmm/cellrenderer_timetrack.cpp +++ b/synfig-studio/trunk/src/gtkmm/cellrenderer_timetrack.cpp @@ -48,6 +48,8 @@ #include +#include "general.h" + #endif using namespace synfig; @@ -876,6 +878,10 @@ CellRenderer_TimeTrack::activate_vfunc( +// The following three functions don't get documented correctly by +// doxygen 1.5.[23] because of a bug with any function whose name +// begins with 'property'. Fixed in doxygen 1.5.4 apparently. See +// http://bugzilla.gnome.org/show_bug.cgi?id=471185 . Glib::PropertyProxy CellRenderer_TimeTrack::property_value_desc() { @@ -938,11 +944,13 @@ CellRenderer_TimeTrack::show_timepoint_menu(const etl::handle& nod n=synfig::waypoint_collect(waypoint_set,time,node); Gtk::Menu* menu(manage(new Gtk::Menu())); + menu->signal_hide().connect(sigc::bind(sigc::ptr_fun(&delete_widget), menu)); // Create the interpolation method menu if(!waypoint_set.empty()) { Gtk::Menu* interp_menu(manage(new Gtk::Menu())); + // no need to connect to signal_hide for this one - it will be deleted when its parent is deleted Waypoint::Model model; // note: each of the following 4 'if' blocks provokes these warnings: