diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2010-09-15 07:43:40 +0000 |
|---|---|---|
| committer | Jon A. Cruz <jon@joncruz.org> | 2010-09-15 07:43:40 +0000 |
| commit | 9ced034c5571093e4622d60e06fc680777936e77 (patch) | |
| tree | f8c18aa9419cbb0f915c66ef77cb4b4a9ba16bf6 /src/widgets/gradient-vector.cpp | |
| parent | Filters. New customizable Poster effect (experimental). (diff) | |
| download | inkscape-9ced034c5571093e4622d60e06fc680777936e77.tar.gz inkscape-9ced034c5571093e4622d60e06fc680777936e77.zip | |
Prevent opacity slider changes from going into undo as separate items. Fixes bug #629300.
Fixed bugs:
- https://launchpad.net/bugs/629300
(bzr r9762)
Diffstat (limited to 'src/widgets/gradient-vector.cpp')
| -rw-r--r-- | src/widgets/gradient-vector.cpp | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/src/widgets/gradient-vector.cpp b/src/widgets/gradient-vector.cpp index 7f0256665..1c1e8173b 100644 --- a/src/widgets/gradient-vector.cpp +++ b/src/widgets/gradient-vector.cpp @@ -648,25 +648,22 @@ static void sp_grad_edit_select(GtkOptionMenu *mnu, GtkWidget *tbl) static void offadjustmentChanged( GtkAdjustment *adjustment, GtkWidget *vb) { - if (blocked) { - return; - } + if (!blocked) { + blocked = TRUE; - blocked = TRUE; + GtkOptionMenu *mnu = static_cast<GtkOptionMenu *>(g_object_get_data(G_OBJECT(vb), "stopmenu")); + if ( g_object_get_data(G_OBJECT(gtk_menu_get_active(GTK_MENU(gtk_option_menu_get_menu(mnu)))), "stop") ) { + SPStop *stop = SP_STOP(g_object_get_data(G_OBJECT(gtk_menu_get_active(GTK_MENU(gtk_option_menu_get_menu(mnu)))), "stop")); - GtkOptionMenu *mnu = static_cast<GtkOptionMenu *>(g_object_get_data(G_OBJECT(vb), "stopmenu")); - if (!g_object_get_data(G_OBJECT(gtk_menu_get_active(GTK_MENU(gtk_option_menu_get_menu(mnu)))), "stop")) { - return; - } - SPStop *stop = SP_STOP(g_object_get_data(G_OBJECT(gtk_menu_get_active(GTK_MENU(gtk_option_menu_get_menu(mnu)))), "stop")); - - stop->offset = adjustment->value; - sp_repr_set_css_double(SP_OBJECT_REPR(stop), "offset", stop->offset); + stop->offset = adjustment->value; + sp_repr_set_css_double(SP_OBJECT_REPR(stop), "offset", stop->offset); - sp_document_done(SP_OBJECT_DOCUMENT(stop), SP_VERB_CONTEXT_GRADIENT, - _("Change gradient stop offset")); + sp_document_maybe_done(SP_OBJECT_DOCUMENT(stop), "gradient:stop:offset", SP_VERB_CONTEXT_GRADIENT, + _("Change gradient stop offset")); - blocked = FALSE; + blocked = FALSE; + } + } } guint32 sp_average_color(guint32 c1, guint32 c2, gdouble p = 0.5) |
