[kgraphviewer-devel] [KGraphViewer] 40a599c: Work around crash in agread for remote files
Kevin Funk
krf at electrostorm.net
Fri Dec 10 18:21:47 CET 2010
commit 40a599c2bfac67b0805de2da6522899e52970e13
branch libkgraphviz
Author: Kevin Funk <krf at electrostorm.net>
Date: Fri Dec 10 17:08:20 2010 +0100
Work around crash in agread for remote files
diff --git a/src/kgraphviz/support/loadagraphthread.cpp b/src/kgraphviz/support/loadagraphthread.cpp
index 1d56bdc..93262ae 100644
--- a/src/kgraphviz/support/loadagraphthread.cpp
+++ b/src/kgraphviz/support/loadagraphthread.cpp
@@ -20,14 +20,22 @@
#include "loadagraphthread.h"
#include <kdebug.h>
+#include <kurl.h>
void LoadAGraphThread::run()
{
kDebug() << m_dotFileName;
- GVC_t *gvc;
- FILE* fp;
- gvc = gvContext();
- fp = fopen(m_dotFileName.toUtf8().data(), "r");
+
+ // FIXME: Fix this for remote files, work-around for crash in agread
+ KUrl url(m_dotFileName);
+ if (!url.isLocalFile()) {
+ kWarning() << "Loading remote files not supported";
+ return;
+ }
+
+ const QString sanitizedFilename = url.path();
+ GVC_t *gvc = gvContext();
+ FILE* fp = fopen(sanitizedFilename.toUtf8().data(), "r");
m_g = agread(fp);
}
@@ -36,6 +44,7 @@ void LoadAGraphThread::loadFile(const QString& dotFileName)
kDebug();
if (isRunning())
return;
+
m_dotFileName = dotFileName;
start();
}
More information about the kgraphviewer-devel
mailing list