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

推荐订阅源

AI
AI
博客园 - 叶小钗
Blog — PlanetScale
Blog — PlanetScale
Microsoft Azure Blog
Microsoft Azure Blog
Vercel News
Vercel News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
A
About on SuperTechFans
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
Martin Fowler
Martin Fowler
阮一峰的网络日志
阮一峰的网络日志
D
Docker
Jina AI
Jina AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Register - Security
The Register - Security
J
Java Code Geeks
S
SegmentFault 最新的问题
月光博客
月光博客
G
Google Developers Blog
美团技术团队
Last Week in AI
Last Week in AI
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
T
The Blog of Author Tim Ferriss
腾讯CDC
Recent Announcements
Recent Announcements
Recorded Future
Recorded Future
The Cloudflare Blog
有赞技术团队
有赞技术团队
博客园_首页
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
B
Blog
I
InfoQ
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
F
Fortinet All Blogs
B
Blog RSS Feed
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
MongoDB | Blog
MongoDB | Blog
爱范儿
爱范儿
D
DataBreaches.Net
F
Full Disclosure
M
MIT News - Artificial intelligence
博客园 - 司徒正美
H
Help Net Security

PBS activity

Make capypdf a submodule (7f9465b6) · Commits · Inkscape / inkscape · GitLab Draft: Make capypdf a submodule to enable it in the PPA (!7987) · Merge requests · Inkscape / inkscape · GitLab a7a272aeb209d29b500adb09d575af1d89645ffe to f9f9d913e36b14250122d9bc43911b5bb84e958c · PBS / Inkscape · GitLab Make capypdf a submodule (12ee5f11) · Commits · Inkscape / inkscape · GitLab Commits · launchpad-staging · Inkscape / inkscape · GitLab Commits · unmeson · PBS / Inkscape · GitLab Objects can't be moved using arrows keys (#6226) · Issues · Inkscape / inkscape · GitLab Down, left, right arrow keys don't work to move objects (#13628) · Issues · Inkscape / Inbox · GitLab Down, left, right arrow keys don't work to move objects (#13628) · Issues · Inkscape / Inbox · GitLab Draft: Expand tests for boolean operations on paths (!7980) · Merge requests · Inkscape / inkscape · GitLab 1.5-dev: cannot create/open documents after closing window on macOS (#5981) · Issues · Inkscape / inkscape · GitLab Use new Modifiers system for the arc tool (!7961) · Merge requests · Inkscape / inkscape · GitLab Remove dependency on deprecated appdirs module (!730) · Merge requests · Inkscape / extensions · GitLab Commits · appdirs · PBS / extensions · GitLab 1.5-dev: Unable to open the Extension Manager (#6202) · Issues · Inkscape / inkscape · GitLab PBS pushed to project branch capypdf-static at PBS / Inkscape PBS pushed to project branch capypdf-static at PBS / Inkscape Make internal capypdf static (!7947) · Merge requests · Inkscape / inkscape · GitLab Shape builder tool does not detect the interior region (#4477) · Issues · Inkscape / inkscape · GitLab Make (most) tests build and run on Windows (!7940) · Merge requests · Inkscape / inkscape · GitLab Generate AppImage with quick-sharun (a465f4ce) · Commits · PBS / Inkscape · GitLab Commits · sharun · PBS / Inkscape · GitLab 1.5-dev: Split mode state is incorrect in the menu when opening a new document (#6135) · Issues · Inkscape / inkscape · GitLab PBS deleted project branch deadlock-win at PBS / Inkscape 1.5-dev: (Windows) Deadlock on quit, process not exiting sometimes (#6003) · Issues · Inkscape / inkscape · GitLab Fix dark mode on gtk 4.20 (!7932) · Merge requests · Inkscape / inkscape · GitLab Fix some resizing issues on Windows by not setting GTK_CSD (!7931) · Merge requests · Inkscape / inkscape · GitLab Draft: Fix AppImage crashing during save on older distros (!7922) · Merge requests · Inkscape / inkscape · GitLab 19086deebf770c8932b403ee536c8f8562a376f9 to 55362ef7d4c363d9613d70ac7194de7e8e323a34 · PBS / Inkscape · GitLab c74f78ca23ff302b7b59175490b870f1a616b778 to 19086deebf770c8932b403ee536c8f8562a376f9 · PBS / Inkscape · GitLab acf9cb2511a84e64f6009a1f23078da8ff51485a to c74f78ca23ff302b7b59175490b870f1a616b778 · PBS / Inkscape · GitLab Fix objects dialog search crash with missing object ID (!7918) · 合并请求 · Inkscape / inkscape · GitLab "Manage Extensions" throws error with AppImage (#5787) · Issues · Inkscape / inkscape · GitLab ca8baeeb44cbf234ffefa9da10974fb713d1e51a to 1a4da430266ea3d674bc5dc49106bacb6528e099 · PBS / Inkscape · GitLab 84543dab97c1f116e9636f149a031f2256199c87 to c7d8378ccc109bdb2ed30f0c8407725e93ffdd9b · Inkscape / lib2geom · 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 Update split mode on tab switch (21bbbaa7) · Commits · PBS / Inkscape · GitLab Commits · split-mode-tab · PBS / Inkscape · GitLab Update split mode on tab switch (7fdf74dd) · Commits · Inkscape / inkscape · GitLab [Regression] Right-aligned text has a new gap in 1.4.4 (#6130) · Issues · Inkscape / inkscape · GitLab 55362ef7d4c363d9613d70ac7194de7e8e323a34 to a2b678d5ad5ae2ee02aa4d7d0ec7a856048190c0 · PBS / Inkscape · GitLab Speed up ungroup on thousands of items (!7908) · Merge requests · Inkscape / inkscape · GitLab AppImage build does not support OpenGL mode (#3428) · Issues · Inkscape / inkscape · GitLab Pressure sensitivity broken in AppImage (#5962) · Issues · Inkscape / inkscape · GitLab 3bd629c13b87c4ab2af3d126f86ddcc8bbf2f149 to ca8baeeb44cbf234ffefa9da10974fb713d1e51a · PBS / Inkscape · GitLab Fix breakage with Ubuntu 26.04 CI (!7904) · 合并请求 · Inkscape / inkscape · GitLab 242c9b14b996730e92eae6015fead1cf3cc2d8e9 to 3bd629c13b87c4ab2af3d126f86ddcc8bbf2f149 · PBS / Inkscape · GitLab Fix breakage with Ubuntu 26.04 CI (c7d8378c) · 提交 · PBS / lib2geom · GitLab Update more reference images (242c9b14) · 提交 · PBS / Inkscape · GitLab 1daba12d820308823d302201e3cf2eafbaac1ac6 to 0aa687aa9bafa055619749a9867e536b80ece385 · PBS / Inkscape · GitLab 647ee7f47a87a5c87285487d3c6029acf635ed01 to 469601f7445709b71dd3b8670333d7e1b49d86fb · PBS / lib2geom · GitLab Use supersampling to reduce fuzz, update reference images (1daba12d) · 提交 · PBS / Inkscape · GitLab Update peppercarrot reference image (cc92988a) · 提交 · PBS / Inkscape · GitLab Fix CJK / Hebrew problems (1ea593ef) · 提交 · PBS / Inkscape · GitLab Add argument file to bypass Windows command length limits (!7899) · 合并请求 · Inkscape / inkscape · GitLab Fix some tests (20705d53) · Commits · PBS / Inkscape · GitLab Update Color API preparing for new Rendering Engine (!7894) · Merge requests · Inkscape / inkscape · GitLab New UX for text in shape and text in path (!7827) · Merge requests · Inkscape / 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 [DRAFT] Temporarily disable lpe tests (a2995490) · Commits · PBS / Inkscape · GitLab aa6bd703d4a5ed9d81838ec3ed16da623bc742b1 to 2ab70cbfd1a9e6707a14099ea0c0c11ae3134e7f · PBS / Inkscape · GitLab db745239d11d97540b6cae0872ac61ef59008e24 to 647ee7f47a87a5c87285487d3c6029acf635ed01 · PBS / lib2geom · GitLab ed16d3e6e8f776b32b54919d982459479f832325 to aa6bd703d4a5ed9d81838ec3ed16da623bc742b1 · PBS / Inkscape · GitLab Fix breakage with Ubuntu 26.04 CI (db745239) · Commits · PBS / lib2geom · GitLab Fix breakage with Ubuntu 26.04 CI (6e40e833) · Commits · PBS / lib2geom · GitLab Commits · resolute · PBS / lib2geom · GitLab Commits · resolute · PBS / Inkscape · GitLab Commits · resolute · PBS / inkscape-ci-docker · GitLab Upgrade to Ubuntu 26.04 (c283b8d1) · Commits · Inkscape / inkscape-ci-docker · GitLab Implement support for all color font formats. 1.5.x (!7565) · Merge requests · Inkscape / inkscape · GitLab Refactor paint server data so the renderer works from data (!7859) · Merge requests · Inkscape / inkscape · GitLab Fix page repainting when document y-axis is flipped (!7861) · Merge requests · Inkscape / inkscape · GitLab Add custom color palette support to bitmap tracing with novel color quantization algorithm (!7862) · Merge requests · Inkscape / inkscape · GitLab PBS deleted project branch various-fixes at PBS / lib2geom Duplicated expression in if statement inside path-intersection.cpp (#27) · Issues · Inkscape / lib2geom · GitLab 2geom.pc.in hardcodes "lib" for libdir (#81) · Issues · Inkscape / lib2geom · GitLab IntPoint / double = IntPoint (should be Point) (#76) · Issues · Inkscape / lib2geom · GitLab EllipticalArc::pointAndDerivatives() returns too many derivatives (#83) · Issues · Inkscape / lib2geom · GitLab b1273d10b17f7c0fa23016c12477577ce667b8cf to 84543dab97c1f116e9636f149a031f2256199c87 · Inkscape / lib2geom · GitLab Fix dispatch_pool hang on exit on Windows (!7794) · Merge requests · Inkscape / inkscape · GitLab 4d22039de3d9c2ae1a6337852e55bed06b20193b to f529b2aace8ad98fdcadcb50da810163215512bb · Inkscape / inkscape · GitLab Do not run any build-time tests when building the deb package (!7792) · Merge requests · Inkscape / inkscape · GitLab Make internal capypdf static (bf1e16d7) · Commits · PBS / Inkscape · GitLab Commits · capypdf-static · PBS / Inkscape · GitLab Make internal capypdf static (61bdd93d) · Commits · PBS / Inkscape · GitLab Make internal capypdf static (17be81e7) · Commits · PBS / Inkscape · GitLab Make internal capypdf static (7e09228f) · Commits · PBS / Inkscape · GitLab Make internal capypdf static (0a5473eb) · Commits · PBS / Inkscape · GitLab Make internal capypdf static (e32360c2) · Commits · PBS / Inkscape · GitLab Make internal capypdf static (202e9499) · Commits · PBS / Inkscape · GitLab Make internal capypdf static (64b041bb) · Commits · PBS / Inkscape · GitLab Make internal capypdf static (1a9d977c) · Commits · PBS / Inkscape · GitLab Make internal capypdf static (7a095661) · Commits · PBS / Inkscape · GitLab Make internal capypdf static (b9ac0d79) · Commits · PBS / Inkscape · GitLab Make internal capypdf static (dc2381e3) · Commits · PBS / Inkscape · GitLab Make internal capypdf static (fcb272c3) · Commits · PBS / Inkscape · GitLab Make internal capypdf static (c9323296) · Commits · Inkscape / inkscape · GitLab
ad6bc46c3a1186b640711410a05406e07c1b9eae to 290d47f6d9d60d5be0d5a76856339b0ff5695c4d · PBS / Inkscape · GitLab
PBS · 2026-03-28 · via PBS activity

Commits on Source 88

  • Fix dropper tool input grab in popovers · 471a97b5
    Chiman Esda authored and PBS's avatar PBS committed
    Close parent popover when activating the color picker to release the
    input grab, so the canvas can receive events and the dropper can work.
    
    Add close_parent_popover() utility function to avoid code duplication.
    
    Guard against empty optional in dropper-tool.cpp as a final defence.
    
    Fixes inkscape/inkscape#6029
  • Fix UX bug: cursor blinks when not in focus · a28eaa6e
    Martin Owens authored
    The text cursor shouldn't indicate that it can have input when the
    canvas widget isn't in focus. We fix this by making it's visibility
    depend on the in_focus state controlled by existing signals.
  • Make display mode / CMS preferences non-persistent · e7997040
    PBS authored and PBS's avatar PBS committed
    Reset the display mode (e.g. outline mode) for every new tab opened.
    Don't persist it between sessions, or even during a session.
    
    There's definitely an issue this fixes, but I can't seem to find it.
  • Fix file drag-and-drop on macOS · 38aed95f
    Mike Kowalski authored
    * Handle URI-based file paths during d&d if local paths are missing
    * Place imported files at drop position passing location explicitly
    * Fix memory leaks by freeing path and uri strings after use
    * Update to use gdk_file_list_get_files() for GTK4 file list handling
  • Expand file path splitting functionality · cb08dc47
    fread authored and PBS's avatar PBS committed
    This commit adds support for splitting all types of file paths on
    Linux and Windows. If applicable, paths are also normalized during
    splitting. The implementation keeps string copying to a minimum for
    improved performance. Tests are included for all the supported path
    types.
    
    The old file splitting functionality was limited, and made code
    that depended on it fragile. The root cause of the problem was
    that paths on Windows and Linux are incompatible. The old function
    was simple and left most of this complexity to the caller. The new
    implementation is more robust and supports both platforms properly.
  • Do not update lpe items on selection change · 85e98c11
    Vaibhav Malik authored and Vaibhav Malik's avatar Vaibhav Malik committed
    * Remove lpe update code from _selChanged. Changing the selection should
      not trigger an LPE update.
    
    * Originally, the removed code was added as part of undo fixes for LPE
      code. But it ended up patching the problem instead of fixing it in a
      semantically correct manner. The undo / redo issues are mostly related
      to improper transactions to the document from the path effect class.
      To address these issues, we should fix each live path effect
      individually instead of patching commonly used workflows as it could
      introduce performance regressions and unexpected updates to the
      document.
    
    Partially fixes: inkscape/inkscape#1351
  • Fix mime type of ODF extension · d3758f27
    Tobias Ellinghaus authored
    This looks like a copy&paste oversight. As a result, copying
    to the clipboard sometimes randomly ran the odf export code for
    the povray mime type, resulting in weird behaviour.
  • Refactor paint server data so the renderer works from data · c821845d
    Martin Owens authored
    This allows the paint server code to be unit tested in later versions. There are some limitations
    to this refactoring including use of virtual functions instead of casting so we can use templates
    in renderers.
    
    ll SPObjects must implement their virtual functions, so the base classes all return empty objects
    where possible and this pushed the design in a certain direction for some calls.
    
     * Move sp-gradient spread, units and vector to sp-paint-server-data.h
     * Move mesh gradient patches data from display/drawing-paintserver to sp-paint-server-data
     * Allow SPPaintServer to be used as a template class in a renderer by providing data from sp-paint-server-data in a consistant way from the base class using virtual functions.
     * Add getPaintType and enum class to decide what type of paint server we have instead of cast
     * Add SPGradient virtual for gathering geometric gradient data for Lienar and Radial gradients
     * Add SPMeshGradient virtual for gathering mesh patches data for the Mesh gradient
     * Pack gradient geometric data into SPGradientVector and return in getGradientVector
     * Harmonize const and API between Mesh Gradients and Linear/Radial Gradients
     * Move add create_drawing_paintserver calls to display/drawing-paintserver in a single call
     * Remove `mg` MeshGradient pointer from MeshArray and remove back-linking. This indicates bad
       API design for some of these calls as the functions used mg and had little to do with the MeshArray
       but for now we just push the MeshGradient object back in as an argument.
     * Change drawing-paintserver constructors to take paint-server-data objects instead of individual arguments.
  • Cleanup SPIFloat and default values in styles · b233c4c0
    Martin Owens authored
    Remove remaining uses of SCALE24_TO_FLOAT and FROM_FLOAT macros which were only
    used for SPIFloat and can easily be folded into the object itself.
    
    Harmonize the default data type use with SPIEnum, SPILength and SPIFontSize
    this allows the rendering engine nr-style.cpp to use the right rendering value
    which is always the computed value and not need to think about the internal
    implementation of the style variable between `value`, `computed` and will allow
    these variable to be made private in the future.
    
    Mikekov: Add `as_double` and `as_enum` getter functions for the new explicit interface.
  • Fix crash while using maximum scans in trace dialog · a52cf8ae
    Vaibhav Malik authored and Vaibhav Malik's avatar Vaibhav Malik committed
    * In the multi-color autotrace mode, max scans is used to set the
      `color_count` value. It determines the number of colors a color bitmap
      is reduced to. The allowed values are 1 to 256.
    
    * The crash occurred because of incrementing scans value by 1 in
      multi-color autotrace mode while invoking setColorCount. Since, the
      maximum value allowed for the scan adjustment is 256, this'd result in
      color count being set to 257. Hence, resulting in a crash because of
      out of range value.
    
    Fixes: inkscape/inkscape#5475
  • Speed up drawing cache insert · bfec9d1a
    Nagata Parama Aptana authored and Willy (Wen-Wei) Kao's avatar Willy (Wen-Wei) Kao committed
    Use boost intrusive multiset instead of std::list, now insert takes O(log n)
    instead of O(n) with n number of items on canvas. Erase remains O(1).
    
    No more memory allocation or failure paths on cache insertion
    at the expense of slightly larger DrawingItem struct.
  • Fix Rotation and Undo History when rotated · 7c47c2c0
    Ayan Das authored and karliss1's avatar karliss1 committed
    In 'transform_rotate', 'transform_rotate_step', and 'transform_rotate_screen' multiply the rotation angle by 'yaxisdir()' to ensures the visual rotation the action (CW vs CCW).
    calculate the visual angle' relative to 'yaxisdir()' for generating the Undo History message.
    
    Fixes: inkscape/inkscape#5992
  • Fix breakage with Ubuntu 26.04 CI · 1a4da430
    PBS authored and PBS's avatar PBS committed
    * Implement supersampling for CLI tests, allowing lower fuzz thresholds.
    * Merge l2compare.sh into check_output.sh to reduce duplication.
    * Always use L2 metric for fuzzy raster comparisons, not absolute error.
    
    * Fix 09-text-layout.svg to add 'arabic' css class to some text that was
      missing it, use 'Noto Sans Hebrew' for hebrew text, and re-show some
      cut-off text. Update bundled Noto Sans fonts that it depends on.
    
    * Fix test-store writing to source directory.
    
    * Update reference images and adjust fuzz. Only significant reference
      image change is the peppercarrot one, where some previously missing
      text ("日本語") actually appears now.
  • Added non-vertical axonometric grids · 7923d920
    SelfMadeSystem authored
    Commits:
    
    Preliminary non-vertical axis implementation
    
    Add option to set vertical angle for axonometric grids
    
    Fixed the math for calculating the y axis angle in the axonometric grid
    
    Initial grid snapping with !angle_y_vertical implemented
    
    Update comments to clarify axis behavior in axonometric grids
    
    Change angle_y_vertical to use RegisteredCheckButton and update preferences initialization
    
    Add button to swap axonometric grid axes in document properties dialog
    
    Documented & moved derived_angle_y to mathfns.h and added update_derived_angle_y method for shared behavior
    
    Renamed gridangleyvertical to angleyvertical
    
    Comment: "[the prefix 'grid'] should never have been used for any of the attributes, but we should start by not adding new ones" - @doctormo
    
    I forgot the pi/2 - angle when porting to derived_angle_y rad
  • Remember maximized/fullscreened states · 562456be
    Michael Terry authored
    When those states change, actually notice and save the preference
    for them. This way the "remember last window state" preference will
    work as expected for maximized/fullscreened windows.
  • Update Color API preparing for new Rendering Engine · 8fe2638e
    Martin Owens authored
    Added isDirect to Colors::Space::* which tells us if a color space is
    backed by a single icc profile, and no other processing steps with some
    public method cleanups.
    
    Removed Lab toXYZ and fromXYZ which were orphaned by previous commit.
    
    Reformatted CairoTransform into generic SurfaceTransform so it can work
    with any memory surface of pixels and in a greater number of data formats.
    
    Split out CMS transform class from SurfaceTransforms and use a base class
    Allowing for different assumptions with formatting and alpha premultiplication.
    
    Add a forward.h header to make including color namespaces easier and cleaner.
    
    Clean up generic testing utils for VectorIs Add colors and some better flexibility
    for arrays and vectors in testing.
  • Add Alpha color space · c53f375f
    Martin Owens authored
    This color space allows surfaces to be converted to luminosity masks
    and varius other useful alpha related filtering for the new rendering
    engine.
    
    We use lcms2 to hold the gray scale profile for quicker conversions.
    
    The transform-cms is modified so it can cope with outputs which do
    not have an allpha channel of their own. Tests for this are added.
  • Allow color conversions using static arrays instead of just vectors · 363d6459
    Martin Owens authored
    Most color conversion will be done with std::vectors of doubles
    but to speed up and provide compile time checks for color converting
    on Surfaces we want the ability to take an array directly at some
    but not all of the various levels.
    
    Formalise the interface for ProfileSpace and the Convertable type
    using a self-referential templating pattern.
    
    Move most conversion code to static functions and make as agnostic
    to the array type as possible, allowing for convertors to use them
    directly without expensive vector types.
  • Fix crash when selecting non-visible objects · ee480ecd
    Michael Terry authored
    The selection describer code was assuming that a selection can only
    hold visible items (SPItems) but it actually holds SPObjects, which
    can include non-visible items.
    
    This code changes the selection describer to more consistently work
    with SPItems only, and to ignore SPObjects.
    
    Fixes inkscape/inkscape#6125
  • Only define _FORTIFY_SOURCE when not in Debug mode · e2f0f3ea
    Michael Terry authored
    If no optimizations are on, you get tons of warnings like:
    
    /usr/include/features.h:435:4: warning: #warning _FORTIFY_SOURCE
    requires compiling with optimization (-O) [-Wcpp]
     | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
     |    ^~~~~~~
    
    Which clutter the console and obscure actual warnings like unused
    variables or unused results.
  • fix: support for popler >= 26.05 font encoding change · 98828255
    Varasina Farmadani authored and Charlotte Curtis's avatar Charlotte Curtis committed
    Poppler version 26.05.0 changed the return type of
    gfx8bit->getEncoding() from char** to const std::array<const char*,256>&.
    this caused a compilation error due to type incompatibility:
        error: assigning to 'char **' from incompatible type 'const std::array<const char *, 256>
        error: no viable conversion from 'const std::array<const char *, 256>' to 'char **'
  • Fix dark mode on gtk 4.20 · 27f138bf
    Michael Terry authored
    4.20 deprecated one global dark mode setting and introduced another.
    But it not only deprecated but broke the old one.
    
    4.22 seems to fix this, but let's just assign the correct setting
    depending on the gtk version.
    
    Fixes inkscape/inkscape#4891
  • Fix tiling gap size when exporting · 756f7493
    Michael Terry authored
    During export, a new LPETiling() instance was being created, with a
    default "prev_unit" value of "px".
    
    This prev_unit value was then compared to the current unit value, and
    the gap size was converted to the new unit. But on instantiation, the
    unit and gap size were already correct. So this applied a pointless
    extra conversion from px to the current unit.
    
    Fixes inkscape/inkscape#6157
  • Fix inverse clip LPE for duplicated objects · 2d1a7312
    Michael Terry authored
    When creating a powerclip, transformations from the clip source were
    not being applied. And when you duplicate an object, the coords of that
    object will be the same, but just with a transformation applied.
    
    So if you duplicated an object, then used it as a clip source, the
    inverse clip LPE code was ignoring the transformation and the clip
    would miss the intended target entirely.
    
    This applies the clip's i2dt_affine() when calculating the inverse
    clip.
    
    Fixes inkscape/inkscape#6158
  • Make saving imported raster images work again · 6468368a
    Michael Terry authored
    When opening a raster image (like png), we were loading the output
    extension for that image and trying to call its save() method, which
    did nothing because raster output extensions don't define that method.
    
    Such extensions are designed for the export-as flow and provide the
    export_raster method instead.
    
    Determining which extension to use for saving a file was also happening
    too low in the stack, after the save filename had already been chosen
    and where it was awkward to switch to a save-as approach.
    
    So I've added some logic to determine which extension to use ahead of
    time (and ignoring raster output extensions for this) and also switch
    the save filename to use the target extension.
    
    Now Inkscape::Extension::save requires an extension argument and does
    not support autodetection (that autodetection is handled a layer up).
    
    And some related cleanups:
    - If an Output extension ever *does* have its save() method called,
      we now display a user error instead of simply actingn like it worked.
      This is done by throwing an exception in the default handler.
    - The extension error messages were using GLib::ustring::compose
      instead of GLib::ustring::sprintf, so the filenames weren't being
      injected. This is now fixed.
    - Previously if save() failed (even on a user cancel), you'd still get
      shown the save-as dialog. Which doesn't really make sense. You only
      want to see that if we don't know how to save the current extension.
    
    Fixes #2667
  • Remove non-functional "add stock filter" search box · 1cdc6017
    Michael Terry authored
    The filter editor added a new search box for adding stock filters
    in commit 602d7346.
    
    And then later some if its properties were dropped in commit
    af136a50.
    
    But neither commit actually connected this search box to anything.
    It didn't exist in 1.4. Let's just remove it for now. We can always
    add it back later once it's working.
    
    Fixes #6181
  • Fix inverse mask disappearing when moved · 64bb929a
    Michael Terry authored
    We were trying to detach and re-attach the mask when moved, but trying
    to reattach it to a URI that was only saved in one code path.
    
    Rather than rely on a possibly stale URI, just grab the URI right
    before detaching, and re-attach to that spot. Then we can drop the
    saved URI altogether.
    
    Some tests had to be updated as part of this, because previously, the
    mask bounding boxes paths were never being updated as part of the test
    since the mask was getting internally deleted. And since there's been
    drift over the years on these tests, the bounding boxes were one or two
    pixels offset, which failed the tests. So I updated the tests to what
    Inkscape writes out these days for these mask boxes.
    
    Fixes #6154
  • Fix icon colors not being applied · d60835c0
    Michael Terry authored
    There was some internal confusion about whether they were stored as
    a Uint or a Color and additionally, the preferences dialog wasn't
    signalling that icons should update when the pref changed.
  • Reorganize the custom icon colors a bit · 9d3d15b2
    Michael Terry authored
    - Use one preference, not two for custom icon colors.
    - Rename the checkbox to be clearer ("Change icon colors")
    - Hide controls if that checkbox is disabled
    - Reorganize the controls to be better aligned with each other
  • Fix pasting LPEs · 5c2f97ce
    Michael Terry authored
    LPEs were not being pasted correctly (using the '&' shortcut) because
    the effect definition was not being imported correctly and the pasting
    code couldn't find it when it went to apply it.
    
    This is fixed by:
    - When prevent_id_clashes() is called, examining the clipboard for
      references, to prevent it holding stale references to nodes that have
      been renamed. This involved internally keeping track of the XML repr
      node, because the clipboard does not have a corresponding SPObject.
    - Removing the 'from_clipboard' parameter to prevent_id_clashes(),
      whose only purpose was to prevent similar LPE nodes from being
      renamed if from_clipboard were false. But... from_clipboard was only
      being passed in as false *during* paste operations from the
      clipboard. And during those paste operations, we still want to copy
      similar LPEs (rather than reference the existing LPE twice).
      So just drop this confusing parameter.
    - After importing defs, gather the new def names from the adjusted
      clipboard.
    - Look for imported defs in the target document, not the source
      document. This technically doesn't matter, since there are no clashes
      anymore, the def will be in both documents. But it just felt like it
      made sense to be looking in the same document that you are going to
      reference it from.
    
    Fixes #5694
  • When deleting an LPE, delete its satellites too · 37632222
    Michael Terry authored
    Undo/redo is broken after this - the satellites are restored but
    without the connection to the original LPE. So things don't work
    right.
    
    But... undo/redo was broken the exact same way before this change
    when flattening. So this is not a new issue.
    
    So there's a separate bug here with restore satellite connections
    during a redo. But this commit is just solving the deletion issue.
    
    Fixes #6170
  • Fix rendering of images with aspect ratios of "meet" · a9a79890
    Michael Terry authored
    There was rendering garbage you could see on the sides of the image,
    because we were asking Cairo to render using the PAD extend mode.
    
    But we really want NONE for this case. We use PAD because we don't want
    gaps when filling an image with patterns.
    
    So this commit makes the extend type conditional, and sets it to PAD
    for images generated by SPPattern.
    
    Fixes #6160
  • Fix broken cursor updating in InkSpinButton widget · 7aabf523
    Martin Owens authored
    The code originally drafted was non-functional, and made some
    assumptions about how drag and drop works for Gtk4 which were
    not true. We replace the whole thing with a new implementation.
    
    We use Gtk standard cursors for this generic widget and call them
    by name. There are now three cursors in use:
    
    "": inherited, a pointer, used on buttons
    "col-resize": For draging left and right
    "text": Used for label to indicate text input
    
    Fixes: #6156
  • Make internal capypdf static · 02a9dc6b
    PBS authored
    * Simplifies packaging on distros that don't provide capypdf, since we
      no longer have to worry about where to install this vendored library.
    
      Consequently, capypdf can now be enabled in PPA builds.
    
    * Removes a Windows-specific workaround from the test suite (098a53bd).
    
    This requires bumping capypdf to 0.21.0.
  • Fix tests in debian packaging · 290d47f6
    PBS authored
    * Add a more fine-grained exclusion file, exclude known-to-fail tests.
    * Disable ASAN to work around ODR violation false-positive.