diff --git a/.bumpversion.toml b/.bumpversion.toml index dca311f..4c855b9 100644 --- a/.bumpversion.toml +++ b/.bumpversion.toml @@ -1,5 +1,5 @@ [tool.bumpversion] -current_version = "1.0.1" +current_version = "1.0.2" parse = "(?P\\d+)\\.(?P\\d+)\\.(?P\\d+)" serialize = ["{major}.{minor}.{patch}"] search = "{current_version}" diff --git a/CHANGELOG.md b/CHANGELOG.md index 07d70f1..e463349 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. --- +## [1.0.2] - 2025-09-26 + +### Fixed + +- Change patched method from `app.canvas.linkRenderer.pathRenderer.drawLinkPath` to `app.canvas.linkRenderer.pathRenderer.constructor.prototype.drawLinkPath` in order to patch each instance instead of just the first one. ([#5](https://github.com/edoardocarmignani/extralinks/issues/5)) +- Store original prototype method to restore them when needed. + +--- + ## [1.0.1] - 2025-09-23 ### Fixed diff --git a/__init__.py b/__init__.py index c57c1f1..812fa61 100644 --- a/__init__.py +++ b/__init__.py @@ -8,7 +8,7 @@ __author__ = 'Edoardo Carmignani' __email__ = 'edoardo.carmignani@gmail.com' -__version__ = '1.0.1' +__version__ = '1.0.2' WEB_DIRECTORY = './web' diff --git a/pyproject.toml b/pyproject.toml index 3b83804..e65840f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "extralinks" -version = "1.0.1" +version = "1.0.2" description = "More connection links." authors = [ {name = "Edoardo Carmignani", email = "edoardo.carmignani@gmail.com"} diff --git a/web/js/ExtraLinks.js b/web/js/ExtraLinks.js index 11501a6..df495d6 100644 --- a/web/js/ExtraLinks.js +++ b/web/js/ExtraLinks.js @@ -95,14 +95,15 @@ export class ExtraLinks { patchDrawLinkPath() { const pathRenderer = app.canvas.linkRenderer.pathRenderer; + const pathRendererConstructor = pathRenderer.constructor; const _originalDrawLinkPath = pathRenderer.drawLinkPath; const _originalCalculateCenterPoint = pathRenderer.calculateCenterPoint; - pathRenderer.drawLinkPath = function drawLinkPath(ctx, path, link2, context, lineWidth, color2) { + pathRendererConstructor.prototype.drawLinkPath = function drawLinkPath(ctx, path, link2, context, lineWidth, color2) { if (!app.extensionManager.setting.get("Extra Links.General.Enable")) { - pathRenderer.drawLinkPath = _originalDrawLinkPath; - pathRenderer.calculateCenterPoint = _originalCalculateCenterPoint; + pathRendererConstructor.prototype.drawLinkPath = _originalDrawLinkPath; + pathRendererConstructor.prototype.calculateCenterPoint = _originalCalculateCenterPoint; return; } @@ -141,7 +142,7 @@ export class ExtraLinks { ctx.stroke(path); - pathRenderer.calculateCenterPoint = (...args) => { + pathRendererConstructor.prototype.calculateCenterPoint = (...args) => { return link2.centerPos = {x: pos[0], y: pos[1]} } } diff --git a/web/js/extralinks_register.js b/web/js/extralinks_register.js index eefeec7..8841b2e 100644 --- a/web/js/extralinks_register.js +++ b/web/js/extralinks_register.js @@ -47,7 +47,7 @@ app.registerExtension({ }, { id: "Extra Links.ExtraLinks", - name: "Version 1.0.1", + name: "Version 1.0.2", type: () => { const container = document.createElement("span"); const btn = document.createElement("button");