X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fwidget_gradient.cpp;h=c9645996f03251ff1430c7c54ed4f73d4e85740e;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=41920d9c452436ed1f1cd7512039ce8bea17b992;hpb=37600b4b217caa5e316984ec0b035c5e8f9698af;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/widget_gradient.cpp b/synfig-studio/trunk/src/gtkmm/widget_gradient.cpp index 41920d9..c964599 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_gradient.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_gradient.cpp @@ -36,6 +36,8 @@ #include #include +#include "general.h" + #endif /* === U S I N G =========================================================== */ @@ -212,6 +214,7 @@ void Widget_Gradient::popup_menu(float x) { Gtk::Menu* menu(manage(new Gtk::Menu())); + menu->signal_hide().connect(sigc::bind(sigc::ptr_fun(&delete_widget), menu)); menu->items().clear(); @@ -292,8 +295,9 @@ Widget_Gradient::on_event(GdkEvent *event) case GDK_MOTION_NOTIFY: if(editable_ && y>get_height()-CONTROL_HEIGHT) { + if(!gradient_.size()) return true; Gradient::iterator iter(gradient_.find(selected_cpoint)); - + //! Use SHIFT to stack two CPoints together. if(event->button.state&GDK_SHIFT_MASK) { float begin(-100000000),end(100000000);