diff options
Diffstat (limited to 'src/data')
-rw-r--r-- | src/data/graph.cpp | 10 | ||||
-rw-r--r-- | src/data/tikzlexer.l | 6 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/data/graph.cpp b/src/data/graph.cpp index 7d71ceb..2c9a84e 100644 --- a/src/data/graph.cpp +++ b/src/data/graph.cpp @@ -269,10 +269,12 @@ Graph *Graph::copyOfSubgraphWithNodes(QSet<Node *> nds) Graph *g = new Graph();
g->setData(_data->copy());
QMap<Node*,Node*> nodeTable;
- foreach (Node *n, nds) {
- Node *n1 = n->copy();
- nodeTable.insert(n, n1);
- g->addNode(n1);
+ foreach (Node *n, nodes()) {
+ if (nds.contains(n)) {
+ Node *n1 = n->copy();
+ nodeTable.insert(n, n1);
+ g->addNode(n1);
+ }
}
foreach (Edge *e, edges()) {
if (nds.contains(e->source()) && nds.contains(e->target())) {
diff --git a/src/data/tikzlexer.l b/src/data/tikzlexer.l index 0a67d1d..0d80467 100644 --- a/src/data/tikzlexer.l +++ b/src/data/tikzlexer.l @@ -90,12 +90,14 @@ FLOAT \-?[0-9]*(\.[0-9]+)? }
<xcoord>{FLOAT} {
yylval->pt = new QPointF();
- yylval->pt->setX(strtod(yytext,NULL));
+ QString s(yytext);
+ yylval->pt->setX(s.toDouble());
BEGIN(ycoord);
}
<ycoord>, { }
<ycoord>{FLOAT} {
- yylval->pt->setY(strtod(yytext,NULL));
+ QString s(yytext);
+ yylval->pt->setY(s.toDouble());
}
<ycoord>\) {
BEGIN(INITIAL);
|