Code

add accessor for the waiting_cursor flag (sorry for the recompile)
[inkscape.git] / src / draw-context.cpp
index 74b6e8d52695f40b9a3e0ab368a010d59ba835a3..5e3ff82dc4539154b6379478f8c0e370297d4db0 100644 (file)
@@ -373,7 +373,12 @@ spdc_check_for_and_apply_waiting_LPE(SPDrawContext *dc, SPItem *item)
         if (shape_applied) {
             // apply original stroke color as fill and unset stroke; then return
             SPCSSAttr *css = sp_repr_css_attr_new();
-            sp_repr_css_set_property (css, "fill", cstroke);
+
+            if (!strcmp(cstroke, "none")){
+                sp_repr_css_set_property (css, "fill", "black");
+            } else {
+                sp_repr_css_set_property (css, "fill", cstroke);
+            }
             sp_repr_css_set_property (css, "stroke", "none");
             sp_desktop_apply_css_recursive(SP_OBJECT(item), css, true);
             sp_repr_css_attr_unref(css);
@@ -651,7 +656,7 @@ spdc_flush_white(SPDrawContext *dc, SPCurve *gc)
     /* Now we have to go back to item coordinates at last */
     c->transform( dc->white_item
                             ? sp_item_dt2i_affine(dc->white_item)
-                            : to_2geom(sp_desktop_dt2root_affine(SP_EVENT_CONTEXT_DESKTOP(dc))) );
+                            : to_2geom(sp_desktop_dt2doc_affine(SP_EVENT_CONTEXT_DESKTOP(dc))) );
 
     SPDesktop *desktop = SP_EVENT_CONTEXT_DESKTOP(dc);
     SPDocument *doc = sp_desktop_document(desktop);
@@ -688,11 +693,11 @@ spdc_flush_white(SPDrawContext *dc, SPCurve *gc)
 
             dc->selection->set(repr);
             Inkscape::GC::release(repr);
-            item->transform = i2i_affine(desktop->currentRoot(), desktop->currentLayer());
+            item->transform = sp_item_i2doc_affine(SP_ITEM(desktop->currentLayer())).inverse();
             item->updateRepr();
         }
 
-        sp_document_done(doc, SP_IS_PEN_CONTEXT(dc)? SP_VERB_CONTEXT_PEN : SP_VERB_CONTEXT_PENCIL, 
+        sp_document_done(doc, SP_IS_PEN_CONTEXT(dc)? SP_VERB_CONTEXT_PEN : SP_VERB_CONTEXT_PENCIL,
                          _("Draw path"));
 
         // When quickly drawing several subpaths with Shift, the next subpath may be finished and
@@ -829,7 +834,7 @@ void spdc_create_single_dot(SPEventContext *ec, Geom::Point const &pt, char cons
     /* put the circle where the mouse click occurred and set the diameter to the
        current stroke width, multiplied by the amount specified in the preferences */
     Inkscape::Preferences *prefs = Inkscape::Preferences::get();
-    
+
     Geom::Matrix const i2d (sp_item_i2d_affine (item));
     Geom::Point pp = pt * i2d;
     double rad = 0.5 * prefs->getDouble(tool_path + "/dot-size", 3.0);