summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLiam P. White <inkscapebronyat-signgmaildotcom>2014-06-22 23:17:50 +0000
committerLiam P. White <inkscapebronyat-signgmaildotcom>2014-06-22 23:17:50 +0000
commit0213425c8da0d92a661a5edbd9318cd8c97b10c8 (patch)
treecd5c9bd3a996241db0d94886761e8bed2fd6011e /src
parentUpdate to experimental r13404 (diff)
parentFix for ungrouping/non-LPEItem masks (diff)
downloadinkscape-0213425c8da0d92a661a5edbd9318cd8c97b10c8.tar.gz
inkscape-0213425c8da0d92a661a5edbd9318cd8c97b10c8.zip
Update to experimental r13407
(bzr r13090.1.85)
Diffstat (limited to 'src')
-rw-r--r--src/libcroco/cr-rgb.c1
-rw-r--r--src/sp-lpe-item.cpp30
-rw-r--r--src/svg/svg-color.cpp1
-rw-r--r--src/widgets/desktop-widget.cpp3
4 files changed, 27 insertions, 8 deletions
diff --git a/src/libcroco/cr-rgb.c b/src/libcroco/cr-rgb.c
index 06e61ba41..537343579 100644
--- a/src/libcroco/cr-rgb.c
+++ b/src/libcroco/cr-rgb.c
@@ -150,6 +150,7 @@ static const CRRgb gv_standard_colors[] = {
{(const guchar*)"plum", 221, 160, 221, FALSE, FALSE, FALSE, {0,0,0}},
{(const guchar*)"powderblue", 176, 224, 230, FALSE, FALSE, FALSE, {0,0,0}},
{(const guchar*)"purple", 128, 0, 128, FALSE, FALSE, FALSE, {0,0,0}},
+ {(const guchar*)"rebeccapurple", 102, 51, 153, FALSE, FALSE, FALSE, {0,0,0}},
{(const guchar*)"red", 255, 0, 0, FALSE, FALSE, FALSE, {0,0,0}},
{(const guchar*)"rosybrown", 188, 143, 143, FALSE, FALSE, FALSE, {0,0,0}},
{(const guchar*)"royalblue", 65, 105, 225, FALSE, FALSE, FALSE, {0,0,0}},
diff --git a/src/sp-lpe-item.cpp b/src/sp-lpe-item.cpp
index 22726f236..74eb2af75 100644
--- a/src/sp-lpe-item.cpp
+++ b/src/sp-lpe-item.cpp
@@ -340,15 +340,22 @@ lpeobject_ref_modified(SPObject */*href*/, guint /*flags*/, SPLPEItem *lpeitem)
static void
sp_lpe_item_create_original_path_recursive(SPLPEItem *lpeitem)
{
+ g_return_if_fail(lpeitem != NULL);
SPMask * mask = lpeitem->mask_ref->getObject();
- if(mask)
+
+ if (mask)
{
- sp_lpe_item_create_original_path_recursive(SP_LPE_ITEM(mask->firstChild()));
+ if (SPLPEItem* maskChild = dynamic_cast<SPLPEItem*>(mask->firstChild())) {
+ sp_lpe_item_create_original_path_recursive(maskChild);
+ }
}
+
SPClipPath * clipPath = lpeitem->clip_ref->getObject();
- if(clipPath)
+ if (clipPath)
{
- sp_lpe_item_create_original_path_recursive(SP_LPE_ITEM(clipPath->firstChild()));
+ if (SPLPEItem* clipChild = dynamic_cast<SPLPEItem*>(clipPath->firstChild())) {
+ sp_lpe_item_create_original_path_recursive(clipChild);
+ }
}
if (SP_IS_GROUP(lpeitem)) {
GSList const *item_list = sp_item_group_item_list(SP_GROUP(lpeitem));
@@ -370,15 +377,22 @@ sp_lpe_item_create_original_path_recursive(SPLPEItem *lpeitem)
static void
sp_lpe_item_cleanup_original_path_recursive(SPLPEItem *lpeitem)
{
+ g_return_if_fail(lpeitem != NULL);
SPMask * mask = lpeitem->mask_ref->getObject();
- if(mask)
+
+ if (mask)
{
- sp_lpe_item_cleanup_original_path_recursive(SP_LPE_ITEM(mask->firstChild()));
+ if (SPLPEItem* maskChild = dynamic_cast<SPLPEItem*>(mask->firstChild())) {
+ sp_lpe_item_cleanup_original_path_recursive(maskChild);
+ }
}
+
SPClipPath * clipPath = lpeitem->clip_ref->getObject();
- if(clipPath)
+ if (clipPath)
{
- sp_lpe_item_cleanup_original_path_recursive(SP_LPE_ITEM(clipPath->firstChild()));
+ if (SPLPEItem* clipChild = dynamic_cast<SPLPEItem*>(clipPath->firstChild())) {
+ sp_lpe_item_cleanup_original_path_recursive(clipChild);
+ }
}
if (SP_IS_GROUP(lpeitem)) {
diff --git a/src/svg/svg-color.cpp b/src/svg/svg-color.cpp
index 57f542373..ca94c241f 100644
--- a/src/svg/svg-color.cpp
+++ b/src/svg/svg-color.cpp
@@ -173,6 +173,7 @@ static SPSVGColor const sp_svg_color_named[] = {
{ 0xDDA0DD, "plum" },
{ 0xB0E0E6, "powderblue" },
{ 0x800080, "purple" },
+ { 0x663399, "rebeccapurple" },
{ 0xFF0000, "red" },
{ 0xBC8F8F, "rosybrown" },
{ 0x4169E1, "royalblue" },
diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp
index 361a54a90..b8f628987 100644
--- a/src/widgets/desktop-widget.cpp
+++ b/src/widgets/desktop-widget.cpp
@@ -1246,6 +1246,9 @@ SPDesktopWidget::shutdown()
*/
void
SPDesktopWidget::requestCanvasUpdate() {
+ // ^^ also this->desktop != 0
+ g_return_if_fail (this->desktop != NULL);
+ g_return_if_fail (this->desktop->main != NULL);
gtk_widget_queue_draw (GTK_WIDGET (SP_CANVAS_ITEM (this->desktop->main)->canvas));
}