diff options
| author | Jabiertxof <jabier.arraiza@marker.es> | 2019-10-28 15:56:06 +0000 |
|---|---|---|
| committer | Jabiertxof <jabier.arraiza@marker.es> | 2019-10-28 15:56:06 +0000 |
| commit | a226c6d04a8b96e9bb8ed1d593780ef77808b344 (patch) | |
| tree | 5114d05b576a479ac1355f1d46e241cbf298d8c4 /src/ui/widget/object-composite-settings.cpp | |
| parent | Update Russian translation (diff) | |
| download | inkscape-a226c6d04a8b96e9bb8ed1d593780ef77808b344.tar.gz inkscape-a226c6d04a8b96e9bb8ed1d593780ef77808b344.zip | |
Fix some blurs iddle large loops
Diffstat (limited to 'src/ui/widget/object-composite-settings.cpp')
| -rw-r--r-- | src/ui/widget/object-composite-settings.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/ui/widget/object-composite-settings.cpp b/src/ui/widget/object-composite-settings.cpp index d628870e2..adf6427a7 100644 --- a/src/ui/widget/object-composite-settings.cpp +++ b/src/ui/widget/object-composite-settings.cpp @@ -109,30 +109,27 @@ ObjectCompositeSettings::_blendBlurValueChanged() if (!SP_IS_ITEM(*i)) { continue; } - SPItem * item = SP_ITEM(*i); SPStyle *style = item->style; g_assert(style != nullptr); + bool change_blend = (item->style->mix_blend_mode.set ? item->style->mix_blend_mode.value : SP_CSS_BLEND_NORMAL) != _filter_modifier.get_blend_mode(); item->style->mix_blend_mode.set = TRUE; if (item->style->isolation.value == SP_CSS_ISOLATION_ISOLATE) { item->style->mix_blend_mode.value = SP_CSS_BLEND_NORMAL; } else { item->style->mix_blend_mode.value = _filter_modifier.get_blend_mode(); } - item->updateRepr(SP_OBJECT_WRITE_NO_CHILDREN | SP_OBJECT_WRITE_EXT); if (radius == 0 && item->style->filter.set && filter_is_single_gaussian_blur(SP_FILTER(item->style->getFilter()))) { remove_filter(item, false); - } - else if (radius != 0) { + } else if (radius != 0) { SPFilter *filter = modify_filter_gaussian_blur_from_item(document, item, radius); sp_style_set_property_url(item, "filter", filter, false); + } + if (change_blend) { //we do blend so we need update display style + item->updateRepr(SP_OBJECT_WRITE_NO_CHILDREN | SP_OBJECT_WRITE_EXT); } - - //request update - item->requestDisplayUpdate(( SP_OBJECT_MODIFIED_FLAG | - SP_OBJECT_STYLE_MODIFIED_FLAG )); } DocumentUndo::maybeDone(document, _blur_tag.c_str(), _verb_code, |
