From: Marius Gedminas <marius@gedmin.as>
... | ... |
@@ -426,7 +426,7 @@ class XDotAttrParser: |
426 | 426 |
p.append((x, y)) |
427 | 427 |
return p |
428 | 428 |
|
429 |
- def read_color(self): |
|
429 |
+ def read_color(self, fallback=(0,0,0,1)): |
|
430 | 430 |
# See http://www.graphviz.org/doc/info/attrs.html#k:color |
431 | 431 |
c = self.read_text() |
432 | 432 |
c1 = c[:1] |
... | ... |
@@ -451,7 +451,7 @@ class XDotAttrParser: |
451 | 451 |
color = gtk.gdk.color_parse(c) |
452 | 452 |
except ValueError: |
453 | 453 |
sys.stderr.write("unknown color '%s'\n" % c) |
454 |
- return 1, 1, 1, 1 |
|
454 |
+ return fallback |
|
455 | 455 |
s = 1.0/65535.0 |
456 | 456 |
r = color.red*s |
457 | 457 |
g = color.green*s |
... | ... |
@@ -467,9 +467,9 @@ class XDotAttrParser: |
467 | 467 |
while s: |
468 | 468 |
op = s.read_code() |
469 | 469 |
if op == "c": |
470 |
- pen.color = s.read_color() |
|
470 |
+ pen.color = s.read_color(fallback=pen.color) |
|
471 | 471 |
elif op == "C": |
472 |
- pen.fillcolor = s.read_color() |
|
472 |
+ pen.fillcolor = s.read_color(fallback=pen.fillcolor) |
|
473 | 473 |
elif op == "S": |
474 | 474 |
style = s.read_text() |
475 | 475 |
if style.startswith("setlinewidth("): |