summaryrefslogtreecommitdiffstats
path: root/src/sp-item-group.cpp
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2014-12-23 09:25:08 +0000
committertavmjong-free <tavmjong@free.fr>2014-12-23 09:25:08 +0000
commitf01a18216e26fd87a53188018e03527c7fdf8a57 (patch)
treee5fc50bfa2b278d007659dd0aa4c6587414731dd /src/sp-item-group.cpp
parentBug #1380413: make sure that the rect toolbar knows when and when not to update (diff)
downloadinkscape-f01a18216e26fd87a53188018e03527c7fdf8a57.tar.gz
inkscape-f01a18216e26fd87a53188018e03527c7fdf8a57.zip
Use gray for 'context-fill' and 'context-stroke' in marker selector.
Fix rendering bug when elements with 'context-fill' and 'context-stroke' are inside groups. (bzr r13822)
Diffstat (limited to 'src/sp-item-group.cpp')
-rw-r--r--src/sp-item-group.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/sp-item-group.cpp b/src/sp-item-group.cpp
index 026b1a11a..45e5747d6 100644
--- a/src/sp-item-group.cpp
+++ b/src/sp-item-group.cpp
@@ -159,6 +159,7 @@ void SPGroup::order_changed (Inkscape::XML::Node *child, Inkscape::XML::Node *ol
}
void SPGroup::update(SPCtx *ctx, unsigned int flags) {
+ // std::cout << "SPGroup::update(): " << (getId()?getId():"null") << std::endl;
SPItemCtx *ictx, cctx;
ictx = (SPItemCtx *) ctx;
@@ -200,15 +201,15 @@ void SPGroup::update(SPCtx *ctx, unsigned int flags) {
for (SPItemView *v = this->display; v != NULL; v = v->next) {
Inkscape::DrawingGroup *group = dynamic_cast<Inkscape::DrawingGroup *>(v->arenaitem);
if( this->parent ) {
- group->setStyle(this->style, this->parent->style);
- } else {
- group->setStyle(this->style);
+ this->context_style = this->parent->context_style;
}
+ group->setStyle(this->style, this->context_style);
}
}
}
void SPGroup::modified(guint flags) {
+ // std::cout << "SPGroup::modified(): " << (getId()?getId():"null") << std::endl;
SPLPEItem::modified(flags);
SPObject *child;
@@ -356,15 +357,16 @@ void SPGroup::set(unsigned int key, gchar const* value) {
}
Inkscape::DrawingItem *SPGroup::show (Inkscape::Drawing &drawing, unsigned int key, unsigned int flags) {
+ // std::cout << "SPGroup::show(): " << (getId()?getId():"null") << std::endl;
Inkscape::DrawingGroup *ai;
ai = new Inkscape::DrawingGroup(drawing);
ai->setPickChildren(this->effectiveLayerMode(key) == SPGroup::LAYER);
if( this->parent ) {
- ai->setStyle(this->style, this->parent->style);
- } else {
- ai->setStyle(this->style);
+ this->context_style = this->parent->context_style;
}
+ ai->setStyle(this->style, this->context_style);
+
this->_showChildren(drawing, ai, key, flags);
return ai;
}