QUrl QQmlContextData::resolvedUrl(const QUrl &src) { QQmlContextData *ctxt = this; QUrl resolved; if (src.isRelative() && !src.isEmpty()) { if (ctxt) { while(ctxt) { if (ctxt->url().isValid()) break; else ctxt = ctxt->parent; } if (ctxt) resolved = ctxt->url().resolved(src); else if (engine) resolved = engine->baseUrl().resolved(src); } } else { resolved = src; } if (resolved.isEmpty()) //relative but no ctxt return resolved; if (engine && engine->urlInterceptor()) resolved = engine->urlInterceptor()->intercept(resolved, QQmlAbstractUrlInterceptor::UrlString); return resolved; }