X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fwidget_gradient.cpp;h=596fedad066c0268dc76be48a23bfe495a27097f;hb=429a714273c61bfadf0f8f373403760910f75eef;hp=3abfd7546ed6d3b5ebacfb92870e60a60c8f1886;hpb=c34eaa5441242b3e9a7b7645e9ee4983d14eae85;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/widget_gradient.cpp b/synfig-studio/trunk/src/gtkmm/widget_gradient.cpp index 3abfd75..596feda 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_gradient.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_gradient.cpp @@ -2,10 +2,11 @@ /*! \file widget_gradient.cpp ** \brief Template File ** -** $Id: widget_gradient.cpp,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $ +** $Id$ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -35,6 +36,8 @@ #include #include +#include "general.h" + #endif /* === U S I N G =========================================================== */ @@ -119,7 +122,7 @@ Widget_Gradient::~Widget_Gradient() #define CONTROL_HEIGHT 16 bool -Widget_Gradient::redraw(GdkEventExpose*bleh) +Widget_Gradient::redraw(GdkEventExpose */*bleh*/) { const int h(get_height()); const int w(get_width()); @@ -203,6 +206,7 @@ void Widget_Gradient::remove_cpoint(float x) { gradient_.erase(gradient_.proximity(x)); + signal_value_changed_(); queue_draw(); } @@ -210,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(); @@ -290,6 +295,7 @@ 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)); if(event->button.state&GDK_SHIFT_MASK)