index bb5d89107f521b617b9f4034e093b450a2dede71..85d9ccce22bce79e97227003b211820c5fcec779 100644 (file)
--- a/src/sp-conn-end-pair.cpp
+++ b/src/sp-conn-end-pair.cpp
#include "xml/repr.h"
#include "sp-path.h"
#include "libavoid/vertices.h"
+#include "libavoid/router.h"
+#include "document.h"
SPConnEndPair::SPConnEndPair(SPPath *const owner)
if (value && (strcmp(value, "polyline") == 0)) {
_connType = SP_CONNECTOR_POLYLINE;
+ Avoid::Router *router = _path->document->router;
GQuark itemID = g_quark_from_string(SP_OBJECT(_path)->id);
- _connRef = new Avoid::ConnRef(itemID);
+ _connRef = new Avoid::ConnRef(router, itemID);
_invalid_path_connection = connectInvalidPath(
sigc::ptr_fun(&sp_conn_adjust_invalid_path));
_transformed_connection = _path->connectTransformed(
void SPConnEndPair::storeIds(void)
{
if (_connEnd[0]->href) {
- GQuark itemId = g_quark_from_string(_connEnd[0]->href);
+ // href begins with a '#' which we don't want.
+ const char *startId = _connEnd[0]->href + 1;
+ GQuark itemId = g_quark_from_string(startId);
_connRef->setEndPointId(Avoid::VertID::src, itemId);
}
else {
_connRef->setEndPointId(Avoid::VertID::src, 0);
}
if (_connEnd[1]->href) {
- GQuark itemId = g_quark_from_string(_connEnd[1]->href);
+ // href begins with a '#' which we don't want.
+ const char *endId = _connEnd[1]->href + 1;
+ GQuark itemId = g_quark_from_string(endId);
_connRef->setEndPointId(Avoid::VertID::tar, itemId);
}
else {