summaryrefslogtreecommitdiff
path: root/src/data
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2018-09-21 18:35:24 +0200
committerAleks Kissinger <aleks0@gmail.com>2018-09-21 18:35:24 +0200
commit331c5d069e79b387eb8964c546dde8109ccf4798 (patch)
treeb7691414199034f7f7314bb48d1aad6d42537b0a /src/data
parent1f57600e248bc4171dbf72e211b3b061045ebeb4 (diff)
fixed bug with fractional coordinates on linux
Diffstat (limited to 'src/data')
-rw-r--r--src/data/graph.cpp10
-rw-r--r--src/data/tikzlexer.l6
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);