惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cisco Talos Blog
Cisco Talos Blog
Martin Fowler
Martin Fowler
A
About on SuperTechFans
H
Help Net Security
F
Full Disclosure
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
H
Heimdal Security Blog
博客园_首页
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Tailwind CSS Blog
Recent Announcements
Recent Announcements
B
Blog RSS Feed
Last Week in AI
Last Week in AI
V2EX - 技术
V2EX - 技术
The Register - Security
The Register - Security
Security Archives - TechRepublic
Security Archives - TechRepublic
G
GRAHAM CLULEY
美团技术团队
S
Securelist
MyScale Blog
MyScale Blog
Vercel News
Vercel News
L
LINUX DO - 最新话题
Hacker News: Ask HN
Hacker News: Ask HN
W
WeLiveSecurity
M
MIT News - Artificial intelligence
宝玉的分享
宝玉的分享
月光博客
月光博客
Attack and Defense Labs
Attack and Defense Labs
大猫的无限游戏
大猫的无限游戏
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Security Blog
Microsoft Security Blog
I
InfoQ
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Forbes - Security
Forbes - Security
罗磊的独立博客
O
OpenAI News
AI
AI
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
雷峰网
雷峰网
S
Security @ Cisco Blogs
MongoDB | Blog
MongoDB | Blog
Schneier on Security
Schneier on Security
P
Proofpoint News Feed
Webroot Blog
Webroot Blog
V
Visual Studio Blog

Martin Owens activity

Martin Owens deleted project branch average-color-divide at Inkscape / inkscape Fix divide-by-zero crash when using calligraphy tool (d34276f8) · Commits · Inkscape / inkscape · GitLab Fix divide-by-zero crash when using calligraphy tool (!7923) · Merge requests · Inkscape / inkscape · GitLab Add selection file to bypass Windows command length limits (correction) (865df7a5) · Commits · Inkscape / inkscape · GitLab Draft: Fix AppImage crashing during save on older distros (!7922) · Merge requests · Inkscape / inkscape · GitLab e71fa7f8e0858aab87b7fc0814a30a8c88da9b43 to fe225a6b9e1042c7221d95173be22a02b3725337 · Martin Owens / inkscape · GitLab 403 Forbidden on Inkscape web server (#693) · Issues · Inkscape / inkscape-web · GitLab 403 Forbidden on Inkscape web server (#13509) · Issues · Inkscape / Inbox · GitLab Add selection file to bypass Windows command length limits (correction) (!7917) · 合并请求 · Inkscape / inkscape · GitLab Non-vertical axonometric axis implementation (!7912) · Merge requests · Inkscape / inkscape · GitLab Update split mode on tab switch (!7915) · Merge requests · Inkscape / inkscape · GitLab inset/offset as app functions so they can be used from CLI (!7914) · Merge requests · Inkscape / inkscape · GitLab Performace regresion in last month (#5879) · Issues · Inkscape / inkscape · GitLab [Regression] Right-aligned text has a new gap in 1.4.4 (#6130) · Issues · Inkscape / inkscape · GitLab [Regression] Right-aligned text has a new gap in 1.4.4 (#13498) · Issues · Inkscape / Inbox · GitLab c503804e014994d611de1b225bee8158c06448a8 to a4588d8ead1e7049b90c5a126962746ed286ab17 · Inkscape / inkscape-web · GitLab Validate the extensions of signature file uploads (a4588d8e) · 提交 · Inkscape / inkscape-web · GitLab Allow color conversions using static arrays instead of just vectors (e71fa7f8) · 提交 · Martin Owens / inkscape · GitLab Speed up ungroup on thousands of items (!7908) · Merge requests · Inkscape / inkscape · GitLab Incorrect handling of FontMatrix and transformation matrices with internal PDF import (#4845) · Issues · Inkscape / inkscape · GitLab Handling edge case of negative fonts in PDF (59040229) · 提交 · Inkscape / inkscape · GitLab Handling edge case of negative fonts in PDF (!7911) · 合并请求 · Inkscape / inkscape · GitLab Allow color conversions using static arrays instead of just vectors (33e65d1b) · Commits · Martin Owens / inkscape · GitLab Allow color conversions using static arrays instead of just vectors (9be5f867) · Commits · Martin Owens / inkscape · GitLab a9672ea1dff483b5b3aa8c6b5d88cd223001bef5 to 512a5e57602ac52e1d35782a7dcebae04262b2b8 · Martin Owens / inkscape · GitLab Add selection file to bypass Windows command length limits (!7905) · 合并请求 · Inkscape / inkscape · GitLab Revert Pango label changes (1.4.x) (!7907) · 合并请求 · Inkscape / inkscape · GitLab Crash on selecting a `<text>` object without a `<tspan>` inside (#5462) · Issues · Inkscape / inkscape · GitLab Fix breakage with Ubuntu 26.04 CI (!7904) · 合并请求 · Inkscape / inkscape · GitLab c673fdd5148253276826d4eda3951daaefb82607 to 356b31383ba324396a225686613236484305533d · Martin Owens / inkscape · GitLab Revert Text tool cursor changes (1.4.x) (!7903) · 合并请求 · Inkscape / inkscape · GitLab Add new simplifyInvisible path manipulator function (e15296e3) · 提交 · Martin Owens / inkscape · GitLab Add new simplifyInvisible path manipulator function (!7902) · 合并请求 · Inkscape / inkscape · GitLab 提交 · weld-nodes-if-tiny · Martin Owens / inkscape · GitLab Update PDF version string to 2.0 (!7901) · 合并请求 · Inkscape / inkscape · GitLab Fix TypeError in replace_font.py (!726) · 合并请求 · Inkscape / extensions · GitLab Remove "using namespace Inkscape" in style-internal.h (!7731) · 合并请求 · Inkscape / inkscape · GitLab Fix color_negative.py for HSL colors (!725) · 合并请求 · Inkscape / extensions · GitLab Add selection file to bypass Windows command length limits (2626d26b) · 提交 · Inkscape / extensions · GitLab Extensions fail with too many items selected in Windows (#2627) · Issues · Inkscape / inkscape · GitLab Joining points not working (#5540) · Issues · Inkscape / Inbox · GitLab Add argument file to bypass Windows command length limits (!7899) · 合并请求 · Inkscape / inkscape · GitLab Add selection file to bypass Windows command length limits (!724) · 合并请求 · Inkscape / extensions · GitLab 4f05fa82847e7798338aa8db1aab21acfe0f7455 to 3bbc78baaee71371d7e6e3a14c59f554b1d9929b · Inkscape / Inbox · GitLab Fix PlantUML syntax (!7) · 合并请求 · Inkscape / Inbox · GitLab Apply 1 suggestion(s) to 1 file(s) (ccd43fd7) · 提交 · Inkscape / Inbox · GitLab Add editing issues advice (!8) · 合并请求 · Inkscape / Inbox · GitLab 提交 · doctormo-master-patch-44578 · Inkscape / Inbox · GitLab New UX for text in shape and text in path (c673fdd5) · Commits · Martin Owens / inkscape · GitLab Converge canvas item text rendering to one place (!7895) · 合并请求 · Inkscape / inkscape · GitLab New UX for text in shape and text in path (20ad9dae) · 提交 · Martin Owens / inkscape · GitLab 1.5-dev: Page labels overflow on Windows (#13460) · Issues · Inkscape / Inbox · GitLab 1.5-dev: Page labels overflow on Windows (#6121) · Issues · Inkscape / inkscape · GitLab Stop cursor from blinking when defocused, take 3 (1.4.x) (!7896) · 合并请求 · Inkscape / inkscape · GitLab New UX for text in shape and text in path (dabd763c) · Commits · Martin Owens / inkscape · GitLab e93c9eb034a1b744ef1a16889e588965057f13a1 to cc89121ffe961f34351888f9dcaacd8b68fc2f1f · Martin Owens / inkscape · GitLab Update Color API preparing for new Rendering Engine (!7894) · Merge requests · Inkscape / inkscape · GitLab Commits · color-api-rendering-changes · Martin Owens / inkscape · GitLab 4fad4dca7c8c63a60f68bf796b4cf1abdebb5f90 to dd1cf0272f1efc11aaf062f39be46227fac972d8 · Martin Owens / inkscape · GitLab Stop cursor from blinking when defocused, take 2 (1.4.x) (!7893) · Merge requests · Inkscape / inkscape · GitLab Switch PangoCairo rendering backend to Fontconfig (1.4.x) (!7891) · Merge requests · Inkscape / inkscape · GitLab Speed up drawing cache insert (1.4.x) (!7889) · Merge requests · Inkscape / inkscape · GitLab Cherry-pick | Fix crash while using maximum scans in trace dialog (!7888) · Merge requests · Inkscape / inkscape · GitLab Display Mode: Toggle Preview (Instead of Quick Preview) does not work (#5650) · Issues · Inkscape / inkscape · GitLab Imported file contains invisible objects that prevent boolean operations when selected. (#5036) · Issues · Inkscape / inkscape · GitLab Fix Memory Leak when reading paper sizes (!7885) · Merge requests · Inkscape / inkscape · GitLab Rounded concave triangle marker (!7884) · Merge requests · Inkscape / inkscape · GitLab Switch PangoCairo rendering backend to Fontconfig (!7882) · Merge requests · Inkscape / inkscape · GitLab New UX for text in shape and text in path (e93c9eb0) · Commits · Martin Owens / inkscape · GitLab New UX for text in shape and text in path (!7827) · Merge requests · Inkscape / inkscape · GitLab 8f9cb2784a5c5714448c030e83f3f2ac36a2ae28 to 26f5129e7cb3fbe32f9fe41df6673df8e72619a1 · Martin Owens / inkscape · GitLab Fix tests in debian packaging (!7838) · Merge requests · Inkscape / inkscape · GitLab Draft: Upgrade to Ubuntu 26.04 (!64) · Merge requests · Inkscape / inkscape-ci-docker · GitLab Draft: Fix breakage with Ubuntu 26.04 CI (!148) · Merge requests · Inkscape / lib2geom · GitLab Speed up drawing cache insert (!7876) · Merge requests · Inkscape / inkscape · GitLab Cleanup SPIFloat and default values in styles (b233c4c0) · Commits · Inkscape / inkscape · GitLab Add nullptr guards to text actions (!7879) · Merge requests · Inkscape / inkscape · GitLab Fix crash while using maximum scans in trace dialog (!7880) · Merge requests · Inkscape / inkscape · GitLab 06fae2b82103418a6f8639b75fed8b89b37fc59f to 16ddfaedd6e6611888945de84907665d78cd9abf · Martin Owens / inkscape · GitLab Refactor paint server data so the renderer works from data (c821845d) · Commits · Inkscape / inkscape · GitLab 1.4.x backports for 1.4.4 (!7840) · 合并请求 · Inkscape / inkscape · GitLab Cleanup SPIFloat and default values in styles (!7874) · Merge requests · Inkscape / inkscape · GitLab Commits · cleanup-spifloat-values · Martin Owens / inkscape · GitLab f6fdc326437935b01a7846bfcee7785ce4d3e7bd to 4fad4dca7c8c63a60f68bf796b4cf1abdebb5f90 · Martin Owens / inkscape · GitLab Page tool on-canvas selection and modification (#353) · Issues · Inkscape / Inkscape UX · GitLab Canvas rect pixel alignment improvements (!7849) · Merge requests · Inkscape / inkscape · GitLab 1.4.x backports for 1.4.4 (with strings) (!7867) · Merge requests · Inkscape / inkscape · GitLab Inconsistent selection validation across extensions (#624) · Issues · Inkscape / extensions · GitLab Refactor paint server data so the renderer works from data (!7859) · Merge requests · Inkscape / inkscape · GitLab Rename star turn upright for clarity (!7863) · Merge requests · Inkscape / inkscape · GitLab Add desktop check to StyleSubject (!7864) · Merge requests · Inkscape / inkscape · GitLab Crash on Selection::_emitChanged() (#13432) · Issues · Inkscape / Inbox · GitLab Clone image in pdf not reused (#6105) · Issues · Inkscape / inkscape · GitLab Add custom color palette support to bitmap tracing with novel color quantization algorithm (!7862) · Merge requests · Inkscape / inkscape · GitLab Add a rasterize-fills extension (!723) · Merge requests · Inkscape / extensions · GitLab Node snapping causes stall when many paths/nodes present (#5055) · Issues · Inkscape / inkscape · GitLab Martin Owens pushed new project branch refactor-paint-server-data at Martin Owens / inkscape Policy Discussion: Generative AI (#5) · Issues · Inkscape / Inkscape Board · GitLab Use epsilon in isChord function for EllipticalArc (!145) · Merge requests · Inkscape / lib2geom · GitLab Backport "Handle text with different lang across tspans" to 1.4.x (!7692) · Merge requests · Inkscape / inkscape · GitLab
Add selection file to bypass Windows command length limits (c8da6484) · 提交 · Inkscape / inkscape · GitLab
Martin Owens · 2026-04-29 · via Martin Owens activity
+2 −0
原始行号 差异行号 差异行
@@ -299,6 +299,8 @@ if(WIN32)
    ${MINGW_LIB}/girepository-1.0/Gdk-4.0.typelib
    ${MINGW_LIB}/girepository-1.0/Gsk-4.0.typelib
    ${MINGW_LIB}/girepository-1.0/Graphene-1.0.typelib
    ${MINGW_LIB}/girepository-1.0/GioWin32-2.0.typelib
    ${MINGW_LIB}/girepository-1.0/GLibWin32-2.0.typelib
    DESTINATION lib/girepository-1.0)

  # Aspell dictionaries
原始行号 差异行号 差异行
Subproject commit 243b23b7986612459650ade44faf8f9333257b73
Subproject commit 2626d26ba46c28c96f4d483ce3b2e6681aab2ada
+48 −0
原始行号 差异行号 差异行
@@ -15,6 +15,8 @@

#include "script.h"

#include <algorithm>
#include <climits>
#include <memory>
#include <ranges>
#include <glib/gstdio.h>
@@ -64,6 +66,7 @@
#include <windows.h>
#define KILL_PROCESS(pid) TerminateProcess(pid, 0)
#else
#include <unistd.h>
#define KILL_PROCESS(pid) kill(pid, SIGTERM)
#endif

@@ -602,6 +605,29 @@ void Script::effect(Inkscape::Extension::Effect *mod, ExecutionEnv *executionEnv
    _change_extension(mod, executionEnv, document, params, mod->ignore_stderr);
}

/**
 * Conservative budget for the maximum command-line size
 * Used to decide when to spill arguments to a file (see _change_extension).
 */
static size_t get_cmdline_budget()
{
#ifdef _WIN32
    // Windows: Length limit is fixed at 32737
    // Leave 4096 of overhead for executable and files
    return 28701; // 32737-4096
#else
    // Unix: Length limit is from sysconf
    // Leave 32K of overhead for executable, files, and environment
    // Also guard against sysconf failure (-1)
    long const arg_max = sysconf(_SC_ARG_MAX);
    size_t usable = 0;
    if (arg_max > 32768) {
        usable = static_cast<size_t>(arg_max) - 32768;
    }
    return std::max(size_t{_POSIX_ARG_MAX}, usable);
#endif
}

/**
 * Internally, any modification of an existing document, used by effect and resize_page extensions.
 */
@@ -627,6 +653,28 @@ void Script::_change_extension(Inkscape::Extension::Extension *module, Execution
              Inkscape::Extension::FILE_SAVE_METHOD_TEMPORARY);
    prefs->setBool("/options/svgoutput/disable_optimizations", false);

    // Workaround for command-line length limits
    // With thousands of arguments the accumulated command line overflows
    // Spill into a temp file and replace with a single --arg-file=<path>.
    auto tempfile_sel = Inkscape::IO::TempFilename("ink_sel_XXXXXX.txt");
    size_t cmdline_size = 0;
    for (auto const &p : params) {
        cmdline_size += p.size() + 1;
    }
    if (cmdline_size > get_cmdline_budget()) {
        try {
            auto sel_channel = Glib::IOChannel::create_from_file(tempfile_sel.get_filename(), "w");
            sel_channel->set_encoding("UTF-8");
            for (auto const &p : params) {
                sel_channel->write(p + "\n");
            }
            sel_channel->close();
            params = {"--arg-file=" + tempfile_sel.get_filename()};
        } catch (Glib::Error const &e) {
            g_warning("Script::_change_extension(): failed to spill args: %s", e.what());
        }
    }

    file_listener fileout;
    int data_read = execute(command, params, tempfile_in.get_filename(), fileout, ignore_stderr, pipe_diffs);
    if (data_read == 0) {