mirror of
https://github.com/logos-co/logos-plugin-qt.git
synced 2026-08-27 08:51:07 +00:00
#20 emitted calls to logos_module_about_to_unload() and logos_module_set_unload_done_callback() unconditionally, so a module built against an older logos-protocol has no such C symbols and fails on generated code its author never wrote. logos-protocol#63 gives the surface a MINOR (0.5) so it is detectable; this guards on it, matching logos-cpp-sdk's emitter. The BODY is guarded, not the DECLARATION, and the difference matters: * moc emits a call to aboutToUnload(), so guarding the declaration away is an undefined symbol at link; * the host finds the hook by NAME through the meta-object, and that surface should look the same on every module rather than varying with the protocol a module happened to be built against. On anything older than 0.5 the body returns 0 -- Synchronous -- which is exactly right: a module whose ABI cannot carry teardown has nothing to wait for, and the host proceeds as it always did. Two assertions, one for each half: the body carries the guard, and the header does NOT. The second is the one that would otherwise rot silently, because guarding the declaration too still compiles the generator and only fails much later, at link, inside a module build. flake.lock tracks protocol master (0d2a3c0), where 0.5 landed. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
194 lines
4.9 KiB
JSON
194 lines
4.9 KiB
JSON
{
|
|
"nodes": {
|
|
"logos-lidl": {
|
|
"inputs": {
|
|
"logos-nix": [
|
|
"logos-nix"
|
|
],
|
|
"nixpkgs": [
|
|
"logos-lidl",
|
|
"logos-nix",
|
|
"nixpkgs"
|
|
]
|
|
},
|
|
"locked": {
|
|
"lastModified": 1786415321,
|
|
"narHash": "sha256-Oe98SavQSVGBIY7WIc8RQ5l+Bl4KLsdmjb+PyscfdNw=",
|
|
"owner": "logos-co",
|
|
"repo": "logos-lidl",
|
|
"rev": "ffeebf2e90fa0c65e8c486988271fe0ca029d1e1",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "logos-co",
|
|
"repo": "logos-lidl",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"logos-module": {
|
|
"inputs": {
|
|
"logos-nix": "logos-nix",
|
|
"nixpkgs": [
|
|
"logos-module",
|
|
"logos-nix",
|
|
"nixpkgs"
|
|
]
|
|
},
|
|
"locked": {
|
|
"lastModified": 1786415910,
|
|
"narHash": "sha256-7zcTkY6r0iXXaFnZaWKNBMHh53RkQh2P455421TX7Gk=",
|
|
"owner": "logos-co",
|
|
"repo": "logos-module",
|
|
"rev": "9812dc8c69cfbfed3eea06510a5c1ff33c1fcf7f",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "logos-co",
|
|
"repo": "logos-module",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"logos-nix": {
|
|
"inputs": {
|
|
"nixpkgs": "nixpkgs",
|
|
"nixpkgs-windows": "nixpkgs-windows"
|
|
},
|
|
"locked": {
|
|
"lastModified": 1786399295,
|
|
"narHash": "sha256-Bl1A0UgsIXioZw5uEW8Jl5u7FfZcFMnpYlpsdezFwK0=",
|
|
"owner": "logos-co",
|
|
"repo": "logos-nix",
|
|
"rev": "6e0f4a7120fced10829b0b3a698ff619a11d4605",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "logos-co",
|
|
"repo": "logos-nix",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"logos-nix_2": {
|
|
"inputs": {
|
|
"nixpkgs": "nixpkgs_2",
|
|
"nixpkgs-windows": "nixpkgs-windows_2"
|
|
},
|
|
"locked": {
|
|
"lastModified": 1786399295,
|
|
"narHash": "sha256-Bl1A0UgsIXioZw5uEW8Jl5u7FfZcFMnpYlpsdezFwK0=",
|
|
"owner": "logos-co",
|
|
"repo": "logos-nix",
|
|
"rev": "6e0f4a7120fced10829b0b3a698ff619a11d4605",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "logos-co",
|
|
"repo": "logos-nix",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"logos-protocol": {
|
|
"inputs": {
|
|
"logos-nix": [
|
|
"logos-nix"
|
|
],
|
|
"nixpkgs": [
|
|
"logos-protocol",
|
|
"logos-nix",
|
|
"nixpkgs"
|
|
]
|
|
},
|
|
"locked": {
|
|
"lastModified": 1787267788,
|
|
"narHash": "sha256-naE4VE+F0zLsCfa/9hL7+RRRW49Pg1HisH3kOymHaKU=",
|
|
"owner": "logos-co",
|
|
"repo": "logos-protocol",
|
|
"rev": "0d2a3c06bfb6c5c9701da84f77afe4aab86403c6",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "logos-co",
|
|
"repo": "logos-protocol",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"nixpkgs": {
|
|
"locked": {
|
|
"lastModified": 1759036355,
|
|
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
|
|
"owner": "NixOS",
|
|
"repo": "nixpkgs",
|
|
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "NixOS",
|
|
"ref": "nixos-unstable",
|
|
"repo": "nixpkgs",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"nixpkgs-windows": {
|
|
"locked": {
|
|
"lastModified": 1782723713,
|
|
"narHash": "sha256-oPXCU/SSUokcGaJREHibG1CBX3+s/W7orDWQOZDsEeQ=",
|
|
"owner": "NixOS",
|
|
"repo": "nixpkgs",
|
|
"rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "NixOS",
|
|
"repo": "nixpkgs",
|
|
"rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"nixpkgs-windows_2": {
|
|
"locked": {
|
|
"lastModified": 1782723713,
|
|
"narHash": "sha256-oPXCU/SSUokcGaJREHibG1CBX3+s/W7orDWQOZDsEeQ=",
|
|
"owner": "NixOS",
|
|
"repo": "nixpkgs",
|
|
"rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "NixOS",
|
|
"repo": "nixpkgs",
|
|
"rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"nixpkgs_2": {
|
|
"locked": {
|
|
"lastModified": 1759036355,
|
|
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
|
|
"owner": "NixOS",
|
|
"repo": "nixpkgs",
|
|
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
|
|
"type": "github"
|
|
},
|
|
"original": {
|
|
"owner": "NixOS",
|
|
"ref": "nixos-unstable",
|
|
"repo": "nixpkgs",
|
|
"type": "github"
|
|
}
|
|
},
|
|
"root": {
|
|
"inputs": {
|
|
"logos-lidl": "logos-lidl",
|
|
"logos-module": "logos-module",
|
|
"logos-nix": "logos-nix_2",
|
|
"logos-protocol": "logos-protocol",
|
|
"nixpkgs": [
|
|
"logos-nix",
|
|
"nixpkgs"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"root": "root",
|
|
"version": 7
|
|
}
|