X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fstate_gradient.cpp;h=c8461b5deb23a299f941434e8434e1ed26842245;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=688b7e6379fda70537ef32c71d661eb259284507;hpb=23afd999cfa673044db848f8b6c2f9eccb6c639f;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/state_gradient.cpp b/synfig-studio/trunk/src/gtkmm/state_gradient.cpp index 688b7e6..c8461b5 100644 --- a/synfig-studio/trunk/src/gtkmm/state_gradient.cpp +++ b/synfig-studio/trunk/src/gtkmm/state_gradient.cpp @@ -6,6 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2008 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 @@ -403,6 +404,12 @@ StateGradient_Context::make_gradient(const Point& _p1, const Point& _p2) case GRADIENT_INTERPOLATION_LINEAR: layer=get_canvas_interface()->add_layer_to("linear_gradient",canvas,depth); + if (!layer) + { + get_canvas_view()->get_ui_interface()->error(_("Unable to create layer")); + group.cancel(); + return; + } layer->set_param("p1",p1); get_canvas_interface()->signal_layer_param_changed()(layer,"p1"); layer->set_param("p2",p2); @@ -410,6 +417,12 @@ StateGradient_Context::make_gradient(const Point& _p1, const Point& _p2) break; case GRADIENT_RADIAL: layer=get_canvas_interface()->add_layer_to("radial_gradient",canvas,depth); + if (!layer) + { + get_canvas_view()->get_ui_interface()->error(_("Unable to create layer")); + group.cancel(); + return; + } layer->set_param("center",p1); get_canvas_interface()->signal_layer_param_changed()(layer,"center"); layer->set_param("radius",(p2-p1).mag()); @@ -417,6 +430,12 @@ StateGradient_Context::make_gradient(const Point& _p1, const Point& _p2) break; case GRADIENT_CONICAL: layer=get_canvas_interface()->add_layer_to("conical_gradient",canvas,depth); + if (!layer) + { + get_canvas_view()->get_ui_interface()->error(_("Unable to create layer")); + group.cancel(); + return; + } layer->set_param("center",p1); get_canvas_interface()->signal_layer_param_changed()(layer,"center"); { @@ -427,6 +446,12 @@ StateGradient_Context::make_gradient(const Point& _p1, const Point& _p2) break; case GRADIENT_SPIRAL: layer=get_canvas_interface()->add_layer_to("spiral_gradient",canvas,depth); + if (!layer) + { + get_canvas_view()->get_ui_interface()->error(_("Unable to create layer")); + group.cancel(); + return; + } layer->set_param("center",p1); get_canvas_interface()->signal_layer_param_changed()(layer,"center"); layer->set_param("radius",(p2-p1).mag());