Hello all.
Revision 10589 removes all trace of libnr from Inkscape's code, which was a major refactoring goal. This is a rather big change and might break various things. Here is a short summary of the changes:
1. NRRect was replaced by Geom:Rect and Geom::OptRect as appropriate. 2. NRRectL was replaced by Geom::IntRect and Geom::OptIntRect as appropriate. Note that the semantics of Geom::IntRect's contains() function for points are slightly incorrect at this time, as max() will be considered part of the rectangle even though it should not be. This doesn't cause any obvious problems for now. 3. SPItem bounding box methods were rewritten. There are now methods for bounding boxes in 3 different coordinate systems: - visualBounds(), geometricBounds(), bounds() - bounds in the item's own coord system - desktopVisualBounds(), desktopGeometricBounds(), desktopBounds() - bounds in desktop coordinate system (origin in bottom left, but user-editable in the future) - documentVisualBounds(), documentGeometricBounds(), documentBounds() - bounds in SVG coordinate system The "geometric" version returns the object bounding box as defined by SVG (does not consider stroke, filters, clipping paths, masks, etc.). The "visual" version considers all of this to return the bounds of the area affected by the object. The legacy "approximate bbox" was removed. 4. NRActiveObject was used only by SPAction. SPAction was converted to GObject and NRActiveObject listeners were replaced by signals. Some changes to verbs were made along the way. 5. nr-point-fns.h was used by some things in the gradient editor and was replaced with code using Geom::LineSegment.
Regards, Krzysztof
There are compilation errors in file emf-win32-print.cpp on XP See attachment.
Some changes needed in build.xml, when directory libnr is removed.
Regards Preben
-----Original Message----- From: Krzysztof Kosiński [mailto:tweenk.pl@...400...] Sent: 29 August, 2011 06:13 To: inkscape-devel Subject: [Inkscape-devel] Complete removal of libnr
Hello all.
Revision 10589 removes all trace of libnr from Inkscape's code, which was a major refactoring goal. This is a rather big change and might break various things. Here is a short summary of the changes:
- NRRect was replaced by Geom:Rect and Geom::OptRect as appropriate.
- NRRectL was replaced by Geom::IntRect and Geom::OptIntRect as
appropriate. Note that the semantics of Geom::IntRect's contains() function for points are slightly incorrect at this time, as max() will be considered part of the rectangle even though it should not be. This doesn't cause any obvious problems for now. 3. SPItem bounding box methods were rewritten. There are now methods for bounding boxes in 3 different coordinate systems:
- visualBounds(), geometricBounds(), bounds() - bounds in the item's
own coord system
- desktopVisualBounds(), desktopGeometricBounds(), desktopBounds() -
bounds in desktop coordinate system (origin in bottom left, but user-editable in the future)
- documentVisualBounds(), documentGeometricBounds(), documentBounds()
- bounds in SVG coordinate system
The "geometric" version returns the object bounding box as defined by SVG (does not consider stroke, filters, clipping paths, masks, etc.). The "visual" version considers all of this to return the bounds of the area affected by the object. The legacy "approximate bbox" was removed. 4. NRActiveObject was used only by SPAction. SPAction was converted to GObject and NRActiveObject listeners were replaced by signals. Some changes to verbs were made along the way. 5. nr-point-fns.h was used by some things in the gradient editor and was replaced with code using Geom::LineSegment.
Regards, Krzysztof
EMC VNX: the world's simplest storage, starting under $10K The only unified storage solution that offers unified management Up to 160% more powerful than alternatives and 25% more efficient. Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
On 29/8/11 01:12, Krzysztof Kosiński wrote:
Revision 10589 removes all trace of libnr from Inkscape's code, which was a major refactoring goal. This is a rather big change and might break various things. Here is a short summary of the changes:
(...)
- SPItem bounding box methods were rewritten. There are now methods
for bounding boxes in 3 different coordinate systems:
- visualBounds(), geometricBounds(), bounds() - bounds in the item's
own coord system
- desktopVisualBounds(), desktopGeometricBounds(), desktopBounds() -
bounds in desktop coordinate system (origin in bottom left, but user-editable in the future)
- documentVisualBounds(), documentGeometricBounds(), documentBounds()
- bounds in SVG coordinate system
The "geometric" version returns the object bounding box as defined by SVG (does not consider stroke, filters, clipping paths, masks, etc.). The "visual" version considers all of this to return the bounds of the area affected by the object. The legacy "approximate bbox" was removed.
1) The bounding box (visual and geometric) of groups containing clones or (nested) groups with preserved transforms is incorrect, causing among other things many icons from the shared icons file to misrender in the GUI:
Bug #836536 "Many icons are corrupted in trunk-r10589" https://bugs.launchpad.net/inkscape/+bug/836536
2) The new bounding box calculations seem to be very slow when working on files with either large stroked paths or groups containing a decent number of stroked objects, even with optimized builds ('-O3'). This affects basic operations: opening the file, selecting/de-selecting large objects or groups, zooming, dragging with the select tool (groups), switching from node tool back to the select tool (large paths) etc.
Rather extreme example file to demonstrate: https://bugs.launchpad.net/inkscape/+bug/180495/+attachment/186845/+files/vertov01.svg Example with a decent number (~700) of stroked paths in a single group: http://imgh.us/delaunay-11.svg
A related issue (AFAIU) already exists in 0.48.x with the improved visual bbox (RENDERING_BBOX) used in the 'Export Bitmap' dialog which blocks Inkscape due to live-updating the export dimensions whenever the selection changes: https://bugs.launchpad.net/inkscape/+bug/719993
All tests done on Mac OS X 10.5.8 (32bit), with debug ('-g -O0') and optimized ('-O3') builds, using GTK+/X11 2.24.4, cairo 1.10.2.
~suv
On 29/8/11 01:12, Krzysztof Kosiński wrote:
Revision 10589 removes all trace of libnr from Inkscape's code, which was a major refactoring goal. This is a rather big change and might break various things. Here is a short summary of the changes:
dbus-enabled build fails on Mac OS X 10.5.8 (i386) with Apple's GCC 4.2.1 (see attachment).
Builds without failure if dbusapi is disabled (default config).
~suv
LeWitt:inkscape-dbus suv$ time make -j2 (���) CXX extension/dbus/dbus-init.o CXX extension/dbus/application-interface.o CXX extension/dbus/document-interface.o CXX extension/implementation/implementation.o CXX extension/implementation/script.o extension/dbus/document-interface.cpp: In function ���gboolean document_interface_selection_move_to(DocumentInterface*, gdouble, gdouble, GError**)���: extension/dbus/document-interface.cpp:1272: error: no matching function for call to ���Inkscape::Selection::bounds()��� ./selection.h:247: note: candidates are: Geom::OptRect Inkscape::Selection::bounds(SPItem::BBoxType) const make[3]: *** [extension/dbus/document-interface.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
real 10m33.197s user 13m38.679s sys 2m39.980s LeWitt:inkscape-dbus suv$
W dniu 29 sierpnia 2011 06:00 użytkownik Preben Soeberg <prsodk@...400...> napisał:
There are compilation errors in file emf-win32-print.cpp on XP See attachment.
This particular compilation error should be fixed now, but at the moment I can't compile on Windows to test this.
W dniu 29 sierpnia 2011 18:23 użytkownik ~suv <suv-sf@...58...> napisał:
- The bounding box (visual and geometric) of groups containing clones
or (nested) groups with preserved transforms is incorrect, causing among other things many icons from the shared icons file to misrender in the GUI:
Bug #836536 "Many icons are corrupted in trunk-r10589" https://bugs.launchpad.net/inkscape/+bug/836536
Fixed in 10595
- The new bounding box calculations seem to be very slow when working
on files with either large stroked paths or groups containing a decent number of stroked objects, even with optimized builds ('-O3'). This affects basic operations: opening the file, selecting/de-selecting large objects or groups, zooming, dragging with the select tool (groups), switching from node tool back to the select tool (large paths) etc.
Looks like the slowest part is computing the stroke bbox and the slowdown is caused by computing the offset of the entire path using livarot and then computing the bounding box of that. The result is not stored anywhere for reuse. To speed up this operation we can do two things: 1. store the result in SPItem and invalidate it on updates so it is recomputed only when needed 2. use a better algorithm of computing the bounding box that does not compute the offset of an entire path
I don't know how hard 2 will be to implement so for now I can restore the legacy behavior of always expanding the bbox by half of the stroke width.
dbus-enabled build fails on Mac OS X 10.5.8 (i386) with Apple's GCC 4.2.1 (see attachment). Builds without failure if dbusapi is disabled (default config).
Fixed in 10594
attempting to compile rev 10599 on Windows XP, I get the attached error messages.
Alvin
http://old.nabble.com/file/p32360834/errors.txt errors.txt
On 30-8-2011 1:07, Alvin Penner wrote:
attempting to compile rev 10599 on Windows XP, I get the attached error messages.
Alvin
Fixed in r10605.
-Johan
Johan Engelen-4 wrote:
Fixed in r10605.
thanks, that fixed it,
Alvin
Building of version 607 was fine too :) Thank's
UweSch
Am 30.08.2011 22:55, schrieb Johan Engelen:
On 30-8-2011 1:07, Alvin Penner wrote:
attempting to compile rev 10599 on Windows XP, I get the attached error messages.
Alvin
Fixed in r10605.
-Johan
Special Offer -- Download ArcSight Logger for FREE! Finally, a world-class log management solution at an even better price-free! And you'll get a free "Love Thy Logs" t-shirt when you download Logger. Secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsisghtdev2dev _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
I get almost the same errors while building 10606 on windows 7
========================================================== Make error line 289: problem compiling: In file included from src/extension/inte rnal/emf-win32-print.h:23:0, from src/extension/internal/emf-win32-print.cpp:59: src/extension/implementation/implementation.h:56:18: warning: unused parameter 'module' src/extension/implementation/implementation.h:58:18: warning: unused parameter 'module' In file included from src/extension/internal/emf-win32-print.h:23:0, from src/extension/internal/emf-win32-print.cpp:59: src/extension/implementation/implementation.h:66:43: warning: unused parameter 'ext' src/extension/implementation/implementation.h:66:43: warning: unused parameter 'doc' src/extension/implementation/implementation.h:69:18: warning: unused parameter 'module' src/extension/implementation/implementation.h:79:25: warning: unused parameter 'module' src/extension/implementation/implementation.h:79:25: warning: unused parameter 'filename' src/extension/implementation/implementation.h:85:18: warning: unused parameter 'module' src/extension/implementation/implementation.h:85:18: warning: unused parameter 'doc' src/extension/implementation/implementation.h:85:18: warning: unused parameter 'filename' src/extension/implementation/implementation.h:93:18: warning: unused parameter 'module' src/extension/implementation/implementation.h:93:18: warning: unused parameter 'document' src/extension/implementation/implementation.h:93:18: warning: unused parameter 'docCache' src/extension/implementation/implementation.h:98:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:99:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:101:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:101:22: warning: unused parameter 'doc' src/extension/implementation/implementation.h:103:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:109:22: warning: unused parameter 'ext' src/extension/implementation/implementation.h:115:22: warning: unused parameter 'ext' src/extension/implementation/implementation.h:118:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:118:22: warning: unused parameter 'transform' src/extension/implementation/implementation.h:118:22: warning: unused parameter 'opacity' src/extension/implementation/implementation.h:121:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:122:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:122:22: warning: unused parameter 'comment' src/extension/implementation/implementation.h:123:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:123:22: warning: unused parameter 'pathv' src/extension/implementation/implementation.h:123:22: warning: unused parameter 'ctm' src/extension/implementation/implementation.h:123:22: warning: unused parameter 'style' src/extension/implementation/implementation.h:123:22: warning: unused parameter 'pbox' src/extension/implementation/implementation.h:123:22: warning: unused parameter 'dbox' src/extension/implementation/implementation.h:123:22: warning: unused parameter 'bbox' src/extension/implementation/implementation.h:130:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:130:22: warning: unused parameter 'pathv' src/extension/implementation/implementation.h:130:22: warning: unused parameter 'transform' src/extension/implementation/implementation.h:130:22: warning: unused parameter 'style' src/extension/implementation/implementation.h:130:22: warning: unused parameter 'pbox' src/extension/implementation/implementation.h:130:22: warning: unused parameter 'dbox' src/extension/implementation/implementation.h:130:22: warning: unused parameter 'bbox' src/extension/implementation/implementation.h:137:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:137:22: warning: unused parameter 'px' src/extension/implementation/implementation.h:137:22: warning: unused parameter 'w' src/extension/implementation/implementation.h:137:22: warning: unused parameter 'h' src/extension/implementation/implementation.h:137:22: warning: unused parameter 'rs' src/extension/implementation/implementation.h:137:22: warning: unused parameter 'transform' src/extension/implementation/implementation.h:137:22: warning: unused parameter 'style' src/extension/implementation/implementation.h:144:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:144:22: warning: unused parameter 'text' src/extension/implementation/implementation.h:144:22: warning: unused parameter 'p' src/extension/implementation/implementation.h:144:22: warning: unused parameter 'style' src/extension/implementation/implementation.h:148:22: warning: unused parameter 'node' src/extension/internal/emf-win32-print.cpp: In member function 'virtual unsigned int Inkscape::Extension::Internal::PrintEmfWin32::text(Inkscape::Extension::Print*, const char*, const Geom::Point&, const SPStyle*)': src/extension/internal/emf-win32-print.cpp:920:13: error: passing 'const Geom::Point' as 'this' argument of 'Geom::Point& Geom::Point::operator=(const Geom::Poi nt&)' discards qualifiers src/extension/internal/emf-win32-print.cpp:921:49: error: lvalue required as left operand of assignment src/extension/internal/emf-win32-print.cpp:922:49: error: lvalue required as left operand of assignment
============================================================================================
UweSch
Am 30.08.2011 01:07, schrieb Alvin Penner:
attempting to compile rev 10599 on Windows XP, I get the attached error messages.
Alvin
It compiled without problem on my XP. The error messages are the same I saw yesterday. Maybe something went wrong with the update to latest version?
Preben
-----Original Message----- From: Uwe Schöler [mailto:mail@...2227...] Sent: 31 August, 2011 10:57 To: inkscape-devel@lists.sourceforge.net Subject: Re: [Inkscape-devel] Complete removal of libnr
I get almost the same errors while building 10606 on windows 7
========================================================== Make error line 289: problem compiling: In file included from src/extension/inte rnal/emf-win32-print.h:23:0, from src/extension/internal/emf-win32-print.cpp:59: src/extension/implementation/implementation.h:56:18: warning: unused parameter 'module' src/extension/implementation/implementation.h:58:18: warning: unused parameter 'module' In file included from src/extension/internal/emf-win32-print.h:23:0, from src/extension/internal/emf-win32-print.cpp:59: src/extension/implementation/implementation.h:66:43: warning: unused parameter 'ext' src/extension/implementation/implementation.h:66:43: warning: unused parameter 'doc' src/extension/implementation/implementation.h:69:18: warning: unused parameter 'module' src/extension/implementation/implementation.h:79:25: warning: unused parameter 'module' src/extension/implementation/implementation.h:79:25: warning: unused parameter 'filename' src/extension/implementation/implementation.h:85:18: warning: unused parameter 'module' src/extension/implementation/implementation.h:85:18: warning: unused parameter 'doc' src/extension/implementation/implementation.h:85:18: warning: unused parameter 'filename' src/extension/implementation/implementation.h:93:18: warning: unused parameter 'module' src/extension/implementation/implementation.h:93:18: warning: unused parameter 'document' src/extension/implementation/implementation.h:93:18: warning: unused parameter 'docCache' src/extension/implementation/implementation.h:98:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:99:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:101:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:101:22: warning: unused parameter 'doc' src/extension/implementation/implementation.h:103:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:109:22: warning: unused parameter 'ext' src/extension/implementation/implementation.h:115:22: warning: unused parameter 'ext' src/extension/implementation/implementation.h:118:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:118:22: warning: unused parameter 'transform' src/extension/implementation/implementation.h:118:22: warning: unused parameter 'opacity' src/extension/implementation/implementation.h:121:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:122:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:122:22: warning: unused parameter 'comment' src/extension/implementation/implementation.h:123:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:123:22: warning: unused parameter 'pathv' src/extension/implementation/implementation.h:123:22: warning: unused parameter 'ctm' src/extension/implementation/implementation.h:123:22: warning: unused parameter 'style' src/extension/implementation/implementation.h:123:22: warning: unused parameter 'pbox' src/extension/implementation/implementation.h:123:22: warning: unused parameter 'dbox' src/extension/implementation/implementation.h:123:22: warning: unused parameter 'bbox' src/extension/implementation/implementation.h:130:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:130:22: warning: unused parameter 'pathv' src/extension/implementation/implementation.h:130:22: warning: unused parameter 'transform' src/extension/implementation/implementation.h:130:22: warning: unused parameter 'style' src/extension/implementation/implementation.h:130:22: warning: unused parameter 'pbox' src/extension/implementation/implementation.h:130:22: warning: unused parameter 'dbox' src/extension/implementation/implementation.h:130:22: warning: unused parameter 'bbox' src/extension/implementation/implementation.h:137:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:137:22: warning: unused parameter 'px' src/extension/implementation/implementation.h:137:22: warning: unused parameter 'w' src/extension/implementation/implementation.h:137:22: warning: unused parameter 'h' src/extension/implementation/implementation.h:137:22: warning: unused parameter 'rs' src/extension/implementation/implementation.h:137:22: warning: unused parameter 'transform' src/extension/implementation/implementation.h:137:22: warning: unused parameter 'style' src/extension/implementation/implementation.h:144:22: warning: unused parameter 'module' src/extension/implementation/implementation.h:144:22: warning: unused parameter 'text' src/extension/implementation/implementation.h:144:22: warning: unused parameter 'p' src/extension/implementation/implementation.h:144:22: warning: unused parameter 'style' src/extension/implementation/implementation.h:148:22: warning: unused parameter 'node' src/extension/internal/emf-win32-print.cpp: In member function 'virtual unsigned int Inkscape::Extension::Internal::PrintEmfWin32::text(Inkscape::Extension::Pr int*, const char*, const Geom::Point&, const SPStyle*)': src/extension/internal/emf-win32-print.cpp:920:13: error: passing 'const Geom::Point' as 'this' argument of 'Geom::Point& Geom::Point::operator=(const Geom::Poi nt&)' discards qualifiers src/extension/internal/emf-win32-print.cpp:921:49: error: lvalue required as left operand of assignment src/extension/internal/emf-win32-print.cpp:922:49: error: lvalue required as left operand of assignment
==========================================================================
UweSch
Am 30.08.2011 01:07, schrieb Alvin Penner:
attempting to compile rev 10599 on Windows XP, I get the attached error messages.
Alvin
Special Offer -- Download ArcSight Logger for FREE! Finally, a world-class log management solution at an even better price-free! And you'll get a free "Love Thy Logs" t-shirt when you download Logger. Secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsisghtdev2dev _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Preben Soeberg wrote:
It compiled without problem on my XP. The error messages are the same I saw yesterday.
Today the messages are gone for me too (Windows XP). But I still can't compile for another one that I haven't seen in other posts:
Make error line 289: problem compiling: src/display/nr-filter-slot.cpp: In constructor 'Inkscape::Filters::FilterSlot::FilterSlot(Inkscape::DrawingItem*, Inkscape::DrawingContext*, Inkscape::DrawingContext&, const Inkscape::Filters::FilterUnits&)': src/display/nr-filter-slot.cpp:38: internal compiler error: in add_phi_arg, at tree-phinodes.c:391 Please submit a full bug report, with preprocessed source if appropriate. See http://www.tdragon.net/recentgcc/bugs.php for instructions.
How can I get rid of it? Thanks. Luca
On 29/8/11 20:18, Krzysztof Kosiński wrote:
W dniu 29 sierpnia 2011 18:23 użytkownik ~suv <suv-sf@...58...> napisał:
- The new bounding box calculations seem to be very slow when working
on files with either large stroked paths or groups containing a decent number of stroked objects, even with optimized builds ('-O3'). This affects basic operations: opening the file, selecting/de-selecting large objects or groups, zooming, dragging with the select tool (groups), switching from node tool back to the select tool (large paths) etc.
Looks like the slowest part is computing the stroke bbox and the slowdown is caused by computing the offset of the entire path using livarot and then computing the bounding box of that. The result is not stored anywhere for reuse. To speed up this operation we can do two things:
- store the result in SPItem and invalidate it on updates so it is
recomputed only when needed 2. use a better algorithm of computing the bounding box that does not compute the offset of an entire path
I don't know how hard 2 will be to implement so for now I can restore the legacy behavior of always expanding the bbox by half of the stroke width.
The downside of reverting to the legacy behavior is that its visual bbox does not match the strokes of non-uniformly transformed shapes, clones or paths within groups which have been stretched or skewed (a major change in the new renderer, fixing long-standing bug #165715):
Bug #805793 "Visual bounding box no longer matches transformed stroke" https://bugs.launchpad.net/inkscape/+bug/805793
This affects bbox snapping and all 'Align&Distribute' operations (which for now do not adhere to the bbox mode as chosen by the user and _always_ use the visual bbox), as well as other features relying on the old legacy visual bbox: e.g. Rows&Columns (always visual bbox) and Tiled clones (with the legacy code, tiled clones show inverted behavior here: the calculation for the tiled clones appears to use the geometric bbox when visual bbox is set in the preferences and vice versa (bug #553912); with current trunk it appears to respect the bbox setting correctly).
On the other hand the current performance with stroked paths is quickly slowing down any work (at least on this rather slow 32bit system (2.4 GHz Intel C2D) - I haven't heard much feedback from others about it yet).
~suv
2011/8/30 ~suv <suv-sf@...58...>:
On 29/8/11 20:18, Krzysztof Kosiński wrote:
W dniu 29 sierpnia 2011 18:23 użytkownik ~suv <suv-sf@...58...> napisał:
- The new bounding box calculations seem to be very slow when working
on files with either large stroked paths or groups containing a decent number of stroked objects, even with optimized builds ('-O3'). This affects basic operations: opening the file, selecting/de-selecting large objects or groups, zooming, dragging with the select tool (groups), switching from node tool back to the select tool (large paths) etc.
Looks like the slowest part is computing the stroke bbox and the slowdown is caused by computing the offset of the entire path using livarot and then computing the bounding box of that. The result is not stored anywhere for reuse. To speed up this operation we can do two things:
- store the result in SPItem and invalidate it on updates so it is
recomputed only when needed 2. use a better algorithm of computing the bounding box that does not compute the offset of an entire path
I don't know how hard 2 will be to implement so for now I can restore the legacy behavior of always expanding the bbox by half of the stroke width.
The downside of reverting to the legacy behavior is that its visual bbox does not match the strokes of non-uniformly transformed shapes, clones or paths within groups which have been stretched or skewed (a major change in the new renderer, fixing long-standing bug #165715):
Bug #805793 "Visual bounding box no longer matches transformed stroke" https://bugs.launchpad.net/inkscape/+bug/805793
This affects bbox snapping and all 'Align&Distribute' operations (which for now do not adhere to the bbox mode as chosen by the user and _always_ use the visual bbox), as well as other features relying on the old legacy visual bbox: e.g. Rows&Columns (always visual bbox) and Tiled clones (with the legacy code, tiled clones show inverted behavior here: the calculation for the tiled clones appears to use the geometric bbox when visual bbox is set in the preferences and vice versa (bug #553912); with current trunk it appears to respect the bbox setting correctly).
On the other hand the current performance with stroked paths is quickly slowing down any work (at least on this rather slow 32bit system (2.4 GHz Intel C2D) - I haven't heard much feedback from others about it yet).
It's painful on my i7... so I assume it's not multithreaded. Either way, it would still be super painful.
Cheers, Josh
On 30-8-2011 21:05, Josh Andler wrote:
2011/8/30 ~suv<suv-sf@...58...>:
On 29/8/11 20:18, Krzysztof Kosiński wrote:
W dniu 29 sierpnia 2011 18:23 użytkownik ~suv <suv-sf@...58...> napisał:
- The new bounding box calculations seem to be very slow when working
on files with either large stroked paths or groups containing a decent number of stroked objects, even with optimized builds ('-O3'). This affects basic operations: opening the file, selecting/de-selecting large objects or groups, zooming, dragging with the select tool (groups), switching from node tool back to the select tool (large paths) etc.
Looks like the slowest part is computing the stroke bbox and the slowdown is caused by computing the offset of the entire path using livarot and then computing the bounding box of that. The result is not stored anywhere for reuse. To speed up this operation we can do two things:
- store the result in SPItem and invalidate it on updates so it is
recomputed only when needed 2. use a better algorithm of computing the bounding box that does not compute the offset of an entire path
I don't know how hard 2 will be to implement so for now I can restore the legacy behavior of always expanding the bbox by half of the stroke width.
The downside of reverting to the legacy behavior is that its visual bbox does not match the strokes of non-uniformly transformed shapes, clones or paths within groups which have been stretched or skewed (a major change in the new renderer, fixing long-standing bug #165715):
Bug #805793 "Visual bounding box no longer matches transformed stroke" https://bugs.launchpad.net/inkscape/+bug/805793
This affects bbox snapping and all 'Align&Distribute' operations (which for now do not adhere to the bbox mode as chosen by the user and _always_ use the visual bbox), as well as other features relying on the old legacy visual bbox: e.g. Rows&Columns (always visual bbox) and Tiled clones (with the legacy code, tiled clones show inverted behavior here: the calculation for the tiled clones appears to use the geometric bbox when visual bbox is set in the preferences and vice versa (bug #553912); with current trunk it appears to respect the bbox setting correctly).
On the other hand the current performance with stroked paths is quickly slowing down any work (at least on this rather slow 32bit system (2.4 GHz Intel C2D) - I haven't heard much feedback from others about it yet).
It's painful on my i7... so I assume it's not multithreaded. Either way, it would still be super painful.
To me it sounds pretty straightforward to cache the bbox value for items. Perhaps we could make a struct of cached values for items that are invalidated upon (relevant) changes? I have no experience with this, perhaps someone knows how this can be implemented in a straightforward and easily usable way? For LPE, it is also be desirable to cache intermediate results, so something like this would be awesome: SPItem::addItemToCache(string key, any value) optional value SPItem::retrieveFromCache(string key)
Ciao, Johan
On 08/30/2011 09:51 PM, Johan Engelen wrote:
For LPE, it is also be desirable to cache intermediate results, so something like this would be awesome: SPItem::addItemToCache(string key, any value) optional value SPItem::retrieveFromCache(string key)
That would be great for snapping too! I would use it to store the intersections found within a single path, instead of calculating them over-and-over again on each snap call.
Diederik
On 08/30/2011 10:10 PM, Diederik van Lierop wrote:
On 08/30/2011 09:51 PM, Johan Engelen wrote:
For LPE, it is also be desirable to cache intermediate results, so something like this would be awesome: SPItem::addItemToCache(string key, any value) optional value SPItem::retrieveFromCache(string key)
That would be great for snapping too! I would use it to store the intersections found within a single path, instead of calculating them over-and-over again on each snap call.
Another idea I dreamed about last night: we could update the item cache in a separate background process. If inkscape sits idle for a few seconds, then it could run code to calculate new bounding boxes, path intersections, etc.
BTW we could store the sbasis representation of a path too.
Diederik
On Aug 30, 2011, at 10:04 PM, Diederik van Lierop wrote:
On 08/30/2011 10:10 PM, Diederik van Lierop wrote:
On 08/30/2011 09:51 PM, Johan Engelen wrote:
For LPE, it is also be desirable to cache intermediate results, so something like this would be awesome: SPItem::addItemToCache(string key, any value) optional value SPItem::retrieveFromCache(string key)
That would be great for snapping too! I would use it to store the intersections found within a single path, instead of calculating them over-and-over again on each snap call.
Another idea I dreamed about last night: we could update the item cache in a separate background process. If inkscape sits idle for a few seconds, then it could run code to calculate new bounding boxes, path intersections, etc.
BTW we could store the sbasis representation of a path too.
Yes. Overall caching the *right* stuff, and in the right way, can be a big performance boost. We definitely need to be looking at this from a comprehensive perspective.
Can someone start a wiki page to collect up notes, potential cached items/operations, etc?
On 31-8-2011 7:16, Jon Cruz wrote:
On Aug 30, 2011, at 10:04 PM, Diederik van Lierop wrote:
On 08/30/2011 10:10 PM, Diederik van Lierop wrote:
On 08/30/2011 09:51 PM, Johan Engelen wrote:
For LPE, it is also be desirable to cache intermediate results, so something like this would be awesome: SPItem::addItemToCache(string key, any value) optional value SPItem::retrieveFromCache(string key)
That would be great for snapping too! I would use it to store the intersections found within a single path, instead of calculating them over-and-over again on each snap call.
Another idea I dreamed about last night: we could update the item cache in a separate background process. If inkscape sits idle for a few seconds, then it could run code to calculate new bounding boxes, path intersections, etc.
BTW we could store the sbasis representation of a path too.
Yes. Overall caching the *right* stuff, and in the right way, can be a big performance boost. We definitely need to be looking at this from a comprehensive perspective.
Can someone start a wiki page to collect up notes, potential cached items/operations, etc?
Done! http://wiki.inkscape.org/wiki/index.php/Caching
Ciao, Johan
W dniu 30 sierpnia 2011 21:51 użytkownik Johan Engelen <jbc.engelen@...2592...> napisał:
To me it sounds pretty straightforward to cache the bbox value for items. Perhaps we could make a struct of cached values for items that are invalidated upon (relevant) changes? I have no experience with this, perhaps someone knows how this can be implemented in a straightforward and easily usable way? For LPE, it is also be desirable to cache intermediate results, so something like this would be awesome: SPItem::addItemToCache(string key, any value) optional value SPItem::retrieveFromCache(string key)
1. There is a complication that the bbox depends on the transformation supplied to the bounds() method. We could cache document and desktop bounds though. 2. I don't think the caching mechanism should be explicit. 3. The SPItem should contain an OptRect for document bounds. It should not be a list external to the SP tree. I assume that even after we allow any desktop transforms, they will be limited to zooming (e.g. only translation & uniform scale, no rotations), so storing a separate rect for desktop coords is unnecessary.
So we would modify documentVisualBounds to something like that: if (bbox_valid) return bbox; bbox = call virtual bbox method; bbox_valid = true; return bbox;
The update() method of SPItem would set bbox_valid to false when appropriate.
Sorry for a lot of talking and little coding but I have reinstalled both my systems recently after a disk upgrade and not everything is working yet.
Regards, Krzysztof
On 2-9-2011 0:35, Krzysztof Kosiński wrote:
W dniu 30 sierpnia 2011 21:51 użytkownik Johan Engelen <jbc.engelen@...2592...> napisał:
To me it sounds pretty straightforward to cache the bbox value for items. Perhaps we could make a struct of cached values for items that are invalidated upon (relevant) changes? I have no experience with this, perhaps someone knows how this can be implemented in a straightforward and easily usable way? For LPE, it is also be desirable to cache intermediate results, so something like this would be awesome: SPItem::addItemToCache(string key, any value) optional value SPItem::retrieveFromCache(string key)
- There is a complication that the bbox depends on the transformation
supplied to the bounds() method. We could cache document and desktop bounds though.
I think the transformation in usually only a scale/translate transform. With some work, the result could still be cached and reused then, right?
- I don't think the caching mechanism should be explicit.
What do you mean exactly?
- The SPItem should contain an OptRect for document bounds. It should
not be a list external to the SP tree. I assume that even after we allow any desktop transforms, they will be limited to zooming (e.g. only translation& uniform scale, no rotations), so storing a separate rect for desktop coords is unnecessary.
So we would modify documentVisualBounds to something like that: if (bbox_valid) return bbox; bbox = call virtual bbox method; bbox_valid = true; return bbox;
The update() method of SPItem would set bbox_valid to false when appropriate.
That is basically what is proposed with this caching method, but then in a more general way that allows one to do this for more than just the bbox, without too much coding (and having 'cache'-like code all over the place).
-Johan
On 29/8/11 01:12, Krzysztof Kosiński wrote:
Revision 10589 removes all trace of libnr from Inkscape's code, which was a major refactoring goal. This is a rather big change and might break various things. Here is a short summary of the changes:
New crash when working with multiple document windows from within the same inkscape process:
Steps to reproduce: 1) launch inkscape 2) open a new document (Ctrl+N), close it again (Ctrl+W) 3) open a new document (Ctrl+N) -> crash
Not reproduced with r10588, reproduced with r10589 and later revisions. Backtrace from r10604 attached.
Tested on Mac OS X 10.5.8 (i386), GCC 4.2.1, dependencies: glib2 2.28.8 gtk2 2.24.4 gtkmm 2.24.0
~suv
(gdb) r Starting program: /Volumes/green/mp-inkscape/src/inkscape-trunk/Build/bin/inkscape Reading symbols for shared libraries ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.......................................................................... done Xlib: extension "RANDR" missing on display "/tmp/launch-EhMYaX/:0". Reading symbols for shared libraries . done Reading symbols for shared libraries . done Reading symbols for shared libraries . done Reading symbols for shared libraries . done
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'EditSelectAll' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'EditSelectAllInAllLayers' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'EditDeselect' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ObjectRotate90CCW' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ObjectRotate90' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ObjectFlipHorizontally' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ObjectFlipVertically' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SelectionToBack' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SelectionLower' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SelectionRaise' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SelectionToFront' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'XAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'YAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'WidthAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'LockAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'HeightAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'UnitsAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'transform_affect_label' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'transform_stroke' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'transform_corners' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'transform_gradient' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'transform_pattern' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeInsertAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeDeleteAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeJoinAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeBreakAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeJoinSegmentAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeDeleteSegmentAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeCuspAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeSmoothAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeSymmetricAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeAutoAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeLineAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeCurveAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodesShowTransformHandlesAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodesShowHandlesAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodesShowHelperpath' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'EditNextPathEffectParameter' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ObjectEditClipPathAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ObjectEditMaskPathAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeXAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeYAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'NodeUnitsAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TweakWidthAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TweakForceAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TweakModeAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TweakChannelsLabel' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TweakDoH' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TweakDoS' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TweakDoL' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TweakDoO' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TweakFidelityAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TweakPressureAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SprayWidthAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SprayMeanAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SprayStandard_deviationAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SprayModeAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SprayPopulationAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SprayPressureAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SprayRotationAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SprayScaleAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'MeasureFontSizeAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'measure_units_label' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'MeasureUnitsAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'StarStateAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'FlatAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'MagnitudeAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SpokeAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'RoundednessAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'RandomizationAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'StarResetAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'RectStateAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'RectWidthAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'RectHeightAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'RadiusXAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'RadiusYAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'RectUnitsAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'RectResetAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action '3DBoxAngleXAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action '3DBoxVPXStateAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action '3DBoxAngleYAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action '3DBoxVPYStateAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action '3DBoxAngleZAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action '3DBoxVPZStateAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ArcStateAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ArcStartAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ArcEndAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ArcOpenAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ArcResetAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SpiralStateAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SpiralRevolutionAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SpiralExpansionAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SpiralT0Action' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SpiralResetAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'FreehandModeActionPencil' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'PencilToleranceAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SetPencilShapeAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'PencilResetAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'FreehandModeActionPen' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SetPenShapeAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'CalligraphyWidthAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ThinningAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'AngleAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'FixationAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'CapRoundingAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TremorAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'WiggleAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'MassAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TraceAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'PressureAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TiltAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'SetProfileAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'EraserModeAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'EraserWidthAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'LPEToolModeAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'LPEShowBBoxAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'LPEBBoxFromSelectionAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'LPELineSegmentAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'LPEMeasuringAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'LPEToolUnitsAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'LPEOpenLPEDialogAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TextFontFamilyAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TextFontSizeAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TextBoldAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TextItalicAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TextSuperscriptAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TextSubscriptAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TextAlignAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TextOrientationAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TextLineHeightAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TextWordSpacingAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TextLetterSpacingAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TextDxAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TextDyAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'TextRotationAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'DropperOpacityAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'DropperPickAlphaAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'DropperSetAlphaAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ConnectorEditModeAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ConnectorAvoidAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ConnectorIgnoreAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ConnectorOrthogonalAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ConnectorCurvatureAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ConnectorSpacingAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ConnectorGraphAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ConnectorLengthAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ConnectorDirectedAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ConnectorOverlapAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ConnectorNewConnPointAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ConnectorRemoveConnPointAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ChannelsAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'ThresholdAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'PaintbucketUnitsAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'OffsetAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'AutoGapAction' to action group 'main'
(inkscape:55224): Gtk-WARNING **: Refusing to add non-unique action 'PaintbucketResetAction' to action group 'main'
(inkscape:55224): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
(inkscape:55224): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject'
(inkscape:55224): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_PROTECTION_FAILURE at address: 0x0000000c 0x003e45ef in Inkscape::UnitTracker::getActiveUnit (this=0x0) at helper/unit-tracker.cpp:92 92 return _activeUnit; (gdb) bt #0 0x003e45ef in Inkscape::UnitTracker::getActiveUnit (this=0x0) at helper/unit-tracker.cpp:92 #1 0x00541096 in sp_node_path_value_changed (adj=0x75fce90, tbl=0x72f3e88, d=Geom::X) at widgets/toolbox.cpp:1283 #2 0x005413a2 in sp_node_path_x_value_changed (adj=0x75fce90, tbl=0x72f3e88) at widgets/toolbox.cpp:1312 #3 0x04146f59 in g_closure_invoke () #4 0x041590d3 in signal_emit_unlocked_R () #5 0x0415a761 in g_signal_emit_valist () #6 0x0415aa69 in g_signal_emit () #7 0x025f838a in gtk_adjustment_value_changed () #8 0x02743bda in gtk_spin_button_set_property () #9 0x041487bb in object_set_property () #10 0x0414ed6d in g_object_newv () #11 0x02a26719 in Glib::Object::Object () #12 0x0215662e in Gtk::Object::Object () #13 0x021c539e in Gtk::Widget::Widget () #14 0x021257aa in Gtk::Entry::Entry () #15 0x02184067 in Gtk::SpinButton::SpinButton () #16 0x0034aa57 in Inkscape::UI::Widget::SpinButton::SpinButton (this=0x844dcb0, adjustment=@0x7e52e90, climb_rate=0.10000000000000001, digits=3) at spinbutton.h:40 #17 0x0054d360 in createCustomSlider (adjustment=0x75fce90, climbRate=0.10000000000000001, digits=3) at widgets/toolbox.cpp:1053 #18 0x0007b81a in create_tool_item (action=0x7f19480) at ege-adjustment-action.cpp:839 #19 0x025f2b28 in gtk_action_create_tool_item () #20 0x027efb6c in update_node () #21 0x027eed66 in update_node () #22 0x027eed66 in update_node () #23 0x027efdaf in do_updates () #24 0x027efe62 in gtk_ui_manager_real_get_widget () #25 0x00556936 in setup_aux_toolbox (toolbox=0x47085e8, desktop=0x5facb40) at widgets/toolbox.cpp:1998 #26 0x00540d71 in Inkscape::UI::ToolboxFactory::setToolboxDesktop (toolbox=0x47085e8, desktop=0x5facb40) at widgets/toolbox.cpp:1734 #27 0x00586879 in Inkscape::UI::UXManagerImpl::connectToDesktop (this=0x6f79290, toolboxes=@0xbfffdbc4, desktop=0x5facb40) at ui/uxmanager.cpp:230 #28 0x004d246b in SPDesktopWidget::createInstance (namedview=0x4f7b800) at widgets/desktop-widget.cpp:1483 #29 0x004d24b9 in sp_desktop_widget_new (namedview=0x4f7b800) at widgets/desktop-widget.cpp:1432 #30 0x00093ca1 in sp_file_new (templ=@0xbfffdd0c) at file.cpp:126 #31 0x00093fe4 in sp_file_new_default () at file.cpp:178 #32 0x00254309 in Inkscape::FileVerb::perform (action=0x4507a68, data=0x2) at verbs.cpp:782 #33 0x00257186 in sigc::pointer_functor2<SPAction*, void*, void>::operator() (this=0x6fa42c4, _A_a1=@0x6fa42cc, _A_a2=@0x6fa42c8) at functors/ptr_fun.h:147 #34 0x002571aa in sigc::adaptor_functor<sigc::pointer_functor2<SPAction*, void*, void> >::operator()<SPAction*&, void*&> (this=0x6fa42c0, _A_arg1=@0x6fa42cc, _A_arg2=@0x6fa42c8) at adaptors/adaptor_trait.h:103 #35 0x002571d9 in sigc::bind_functor<-1, sigc::pointer_functor2<SPAction*, void*, void>, void*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()<SPAction*&> (this=0x6fa42bc, _A_arg1=@0x6fa42cc) at adaptors/bind.h:1122 #36 0x00257202 in sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::pointer_functor2<SPAction*, void*, void>, void*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, SPAction*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator() (this=0x6fa42b8) at adaptors/bind.h:1110 #37 0x0025721e in sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::pointer_functor2<SPAction*, void*, void>, void*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, SPAction*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it (rep=0x6fa42a0) at functors/slot.h:103 #38 0x0079bf3c in sigc::internal::signal_emit0<void, sigc::nil>::emit (impl=0x6fa41d0) at signal.h:772 #39 0x0079bfea in sigc::signal0<void, sigc::nil>::emit (this=0x4507a90) at signal.h:2669 #40 0x003d2aee in sp_action_perform (action=0x4507a68, data=0x0) at helper/action.cpp:166 #41 0x0054da46 in trigger_sp_action (user_data=0x4507a68) at widgets/toolbox.cpp:862 #42 0x04146f59 in g_closure_invoke () #43 0x041590d3 in signal_emit_unlocked_R () #44 0x0415a761 in g_signal_emit_valist () #45 0x0415aa69 in g_signal_emit () #46 0x025f27c0 in _gtk_action_emit_activate () #47 0x027a5f19 in button_clicked () #48 0x04146f59 in g_closure_invoke () #49 0x041590d3 in signal_emit_unlocked_R () #50 0x0415a761 in g_signal_emit_valist () #51 0x0415aa69 in g_signal_emit () #52 0x0260d14a in gtk_button_clicked () #53 0x0260f2f8 in gtk_real_button_released () #54 0x04146f59 in g_closure_invoke () #55 0x04158d48 in signal_emit_unlocked_R () #56 0x0415a761 in g_signal_emit_valist () #57 0x0415aa69 in g_signal_emit () #58 0x0260d0aa in gtk_button_released () #59 0x0260e38b in gtk_button_button_release () #60 0x026c785b in _gtk_marshal_BOOLEAN__BOXED () #61 0x04146f59 in g_closure_invoke () #62 0x04159258 in signal_emit_unlocked_R () #63 0x0415a4a7 in g_signal_emit_valist () #64 0x0415aa69 in g_signal_emit () #65 0x027f6546 in gtk_widget_event_internal () #66 0x026c5a58 in gtk_propagate_event () #67 0x026c5fcd in gtk_main_do_event () #68 0x000070dc in snooper (event=0x75f1150) at main.cpp:912 #69 0x034f5845 in gdk_event_dispatch () #70 0x0420251d in g_main_context_dispatch () #71 0x042063ab in g_main_context_iterate () #72 0x04206687 in g_main_loop_run () #73 0x026c4fa1 in gtk_main () #74 0x0214a59b in Gtk::Main::run () #75 0x00007a88 in sp_main_gui (argc=1, argv=0xbffff0fc) at main.cpp:978 #76 0x0000826e in main (argc=1, argv=0xbffff0fc) at main.cpp:709 (gdb)
On 31/8/11 03:23, ~suv wrote:
On 29/8/11 01:12, Krzysztof Kosiński wrote:
Revision 10589 removes all trace of libnr from Inkscape's code, which was a major refactoring goal. This is a rather big change and might break various things. Here is a short summary of the changes:
New crash when working with multiple document windows from within the same inkscape process:
Steps to reproduce:
- launch inkscape
- open a new document (Ctrl+N), close it again (Ctrl+W)
- open a new document (Ctrl+N) -> crash
Not reproduced with r10588, reproduced with r10589 and later revisions. Backtrace from r10604 attached.
Tested on Mac OS X 10.5.8 (i386), GCC 4.2.1, dependencies: glib2 2.28.8 gtk2 2.24.4 gtkmm 2.24.0
Now also reported in the bug tracker (for trunk on openSuSE 12.1 Beta 1):
Bug #869067 "creating new document crashes inkscape" https://bugs.launchpad.net/inkscape/+bug/869067
~suv
On 29/8/11 01:12, Krzysztof Kosiński wrote:
Revision 10589 removes all trace of libnr from Inkscape's code, which was a major refactoring goal. This is a rather big change and might break various things. Here is a short summary of the changes:
New crash with empty stroked text object:
Steps to reproduce: 1) create text object with a single word (default style: solid black fill, no stroke) 2) add stroke 3) edit text: delete the content with <backspace>
-> crash when last character is deleted.
Not reproduced with 10588, reproduced with r10589 and later revisions Backtrace from r10612 attached.
Tested on Mac OS X 10.5.8 (i386), GCC 4.2.1, dependencies: boost 1.47.0
~suv
Assertion failed: (this->is_initialized()), function operator->, file /Volumes/green/mp-inkscape/with-a-long-long-long-directory-name/include/boost/optional/optional.hpp, line 641.
Program received signal SIGABRT, Aborted. 0x90deae42 in __kill () (gdb) bt #0 0x90deae42 in __kill () #1 0x90deae34 in kill$UNIX2003 () #2 0x90e5d23a in raise () #3 0x90e69679 in abort () #4 0x90e5e3db in __assert_rtn () #5 0x0059929c in boost::optionalGeom::Rect::operator-> (this=0xbfffe448) at optional/optional.hpp:641 #6 0x001f7639 in sp_text_bbox (item=0x75ed0a0, transform=@0xbfffe4d0, type=SPItem::VISUAL_BBOX) at sp-text.cpp:372 #7 0x001a4537 in SPItem::visualBounds (this=0x75ed0a0, transform=@0xbfffe4d0) at sp-item.cpp:744 #8 0x001a6486 in SPItem::desktopVisualBounds (this=0x75ed0a0) at sp-item.cpp:792 #9 0x00145f9b in Inkscape::Selection::visualBounds (this=0x5f76f78) at selection.cpp:388 #10 0x00146225 in Inkscape::Selection::bounds (this=0x5f76f78, type=SPItem::VISUAL_BBOX) at selection.cpp:368 #11 0x0050a9ea in sp_selection_layout_widget_update (spw=0x4572e10, sel=0x5f76f78) at widgets/select-toolbar.cpp:74 #12 0x0050c45a in sp_selection_layout_widget_modify_selection (spw=0x4572e10, selection=0x5f76f78, flags=3, data=0x5f74d80) at widgets/select-toolbar.cpp:115 #13 0x04146f59 in g_closure_invoke () #14 0x041590d3 in signal_emit_unlocked_R () #15 0x0415a761 in g_signal_emit_valist () #16 0x0415aa69 in g_signal_emit () #17 0x00521cc4 in sp_widget_modify_selection (selection=0x5f76f78, flags=3, spw=0x4572e10) at widgets/sp-widget.cpp:255 #18 0x04146f59 in g_closure_invoke () #19 0x041590d3 in signal_emit_unlocked_R () #20 0x0415a761 in g_signal_emit_valist () #21 0x0415aa69 in g_signal_emit () #22 0x000c7ffd in inkscape_selection_modified (selection=0x5f76f78, flags=3) at inkscape.cpp:905 #23 0x00146f60 in Inkscape::Selection::_emitModified (this=0x5f76f78, flags=3) at selection.cpp:91 #24 0x00146fb9 in Inkscape::Selection::_emit_modified (selection=0x5f76f78) at selection.cpp:84 #25 0x0420251d in g_main_context_dispatch () #26 0x042063ab in g_main_context_iterate () #27 0x04206687 in g_main_loop_run () #28 0x026c4fa1 in gtk_main () #29 0x0214a59b in Gtk::Main::run () #30 0x000079d8 in sp_main_gui (argc=1, argv=0xbffff0fc) at main.cpp:978 #31 0x000081be in main (argc=1, argv=0xbffff0fc) at main.cpp:709 (gdb)
I've the same Crash with version 10611 under Windows Vista.
UweSch
Am 03.09.2011 05:01, schrieb ~suv:
On 29/8/11 01:12, Krzysztof Kosin'ski wrote:
Revision 10589 removes all trace of libnr from Inkscape's code, which was a major refactoring goal. This is a rather big change and might break various things. Here is a short summary of the changes:
New crash with empty stroked text object:
Steps to reproduce:
- create text object with a single word (default style: solid black fill, no stroke)
- add stroke
- edit text: delete the content with<backspace>
-> crash when last character is deleted.
Not reproduced with 10588, reproduced with r10589 and later revisions Backtrace from r10612 attached.
Tested on Mac OS X 10.5.8 (i386), GCC 4.2.1, dependencies: boost 1.47.0
~suv
Special Offer -- Download ArcSight Logger for FREE! Finally, a world-class log management solution at an even better price-free! And you'll get a free "Love Thy Logs" t-shirt when you download Logger. Secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsisghtdev2dev
Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
On 4/9/11 23:20, Krzysztof Kosiński wrote:
W dniu 3 września 2011 05:01 użytkownik ~suv <suv-sf@...58...> napisał:
New crash with empty stroked text object:
Fixed in 10617 Minimal visual bbox caching in 10618
One of the recent commits (10615-10618) causes the previews of the stock markers to be rendered incorrectly (offset and partially cut off - see attached image comparing the pop-up menu from stable, r10614 and r10618).
Not affected: Rendering of markers on-canvas is identical to previous revisions & stable, and the preview added for the current markers in the <defs> section is correct as well.
~suv
W dniu 5 września 2011 07:13 użytkownik ~suv <suv-sf@...58...> napisał:
One of the recent commits (10615-10618) causes the previews of the stock markers to be rendered incorrectly (offset and partially cut off - see attached image comparing the pop-up menu from stable, r10614 and r10618).
Fixed in 10619 Regards, Krzysztof
On 4/9/11 23:20, Krzysztof Kosiński wrote:
W dniu 3 września 2011 05:01 użytkownik ~suv <suv-sf@...58...> napisał:
New crash with empty stroked text object:
Fixed in 10617 Minimal visual bbox caching in 10618
After r10618, the dimensions/position of the visual bounding box of the filter effects region no longer update when changed in the 'Filter General Settings' tab of filter editor (deselecting and reselecting the filtered object doesn't help -> nudging the object with the arrow keys does).
Would it be possible (and make sense) to have the changes of the filter effects regions in the filter editor trigger an update of the visual bbox?
~suv
Would it be possible in the future to swap visually between filtered and unfiltered object bounding box... and also to align objects depending on the unfiltered bbox even when they are filtered ? (Perhaps the two features could be grouped all in one).
ivan
________________________________ De : ~suv <suv-sf@...58...> À : Krzysztof Kosiński <tweenk.pl@...400...> Cc : inkscape-devel inkscape-devel@lists.sourceforge.net Envoyé le : Samedi 17 Septembre 2011 12h15 Objet : Re: [Inkscape-devel] Complete removal of libnr
On 4/9/11 23:20, Krzysztof Kosiński wrote:
W dniu 3 września 2011 05:01 użytkownik ~suv <suv-sf@...58...> napisał:
New crash with empty stroked text object:
Fixed in 10617 Minimal visual bbox caching in 10618
After r10618, the dimensions/position of the visual bounding box of the filter effects region no longer update when changed in the 'Filter General Settings' tab of filter editor (deselecting and reselecting the filtered object doesn't help -> nudging the object with the arrow keys does).
Would it be possible (and make sense) to have the changes of the filter effects regions in the filter editor trigger an update of the visual bbox?
~suv
------------------------------------------------------------------------------ BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA http://p.sf.net/sfu/rim-devcon-copy2 _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
On 17/9/11 12:35, Ivan Louette wrote:
Would it be possible in the future to swap visually between filtered and unfiltered object bounding box... and also to align objects depending on the unfiltered bbox even when they are filtered ? (Perhaps the two features could be grouped all in one).
You can change the bounding box mode to 'Geometric' if you don't want to use the visual bounding box (which includes the filter effects region):
Inkscape preferences > Tools > Bounding box to use
~suv
On 17/09/2011 12:15, ~suv wrote:
On 4/9/11 23:20, Krzysztof Kosiński wrote:
W dniu 3 września 2011 05:01 użytkownik ~suv <suv-sf@...58...> napisał:
New crash with empty stroked text object:
Fixed in 10617 Minimal visual bbox caching in 10618
After r10618, the dimensions/position of the visual bounding box of the filter effects region no longer update when changed in the 'Filter General Settings' tab of filter editor (deselecting and reselecting the filtered object doesn't help -> nudging the object with the arrow keys does).
Would it be possible (and make sense) to have the changes of the filter effects regions in the filter editor trigger an update of the visual bbox?
Just got reported as
Bug #960986 https://bugs.launchpad.net/inkscape/+bug/960986 "Visual bounding box not updated when changing filter settings"
~suv
On 29/8/11 01:12, Krzysztof Kosiński wrote:
Revision 10589 removes all trace of libnr from Inkscape's code, which was a major refactoring goal. This is a rather big change and might break various things. Here is a short summary of the changes:
History of the zoom commands seems no longer stored (it appears that 'zoom prev/next' only allows to jump between last and initial view/zoom level after the commit in r10589).
Steps to reproduce: 1) open an exisiting drawing 2) zoom in several times with the zoom tool (zoom in on area within rubber-band) 3) traverse backward and forward through the list of the previously used zoom levels using 'Previous Zoom / Next Zoom'
Works as expected in r10588, no more in r10589. Tested on Mac OS X 10.5.8 (i386), GCC 4.2.1 (nothing new here ;) )
~suv
P.S.: please tell if you prefer these minor regressions to be filed in the bug tracker instead of mentioning them here in this thread on the mailing list.
W dniu 7 września 2011 19:57 użytkownik ~suv <suv-sf@...58...> napisał:
P.S.: please tell if you prefer these minor regressions to be filed in the bug tracker instead of mentioning them here in this thread on the mailing list.
It's better to submit them here. I get absurd volumes of Launchpad mail, which I filter without looking, so I won't notice the fact that you've reported them. PS thanks for your awesome work!
Regards, Krzysztof
On 29/8/11 01:12, Krzysztof Kosiński wrote:
Revision 10589 removes all trace of libnr from Inkscape's code, which was a major refactoring goal. This is a rather big change and might break various things. Here is a short summary of the changes:
Regression with regard to color-managed view on-canvas (View > Color-managed view) reported in
Bug #838150 https://bugs.launchpad.net/inkscape/+bug/838150 "X freeze on enabling color management"
(Not reproduced with r10588, reproduced with r10589 and later revisions).
See comment #3 for steps to reproduce.
~suv
W dniu 10 września 2011 19:38 użytkownik ~suv <suv-sf@...58...> napisał:
Regression with regard to color-managed view on-canvas (View > Color-managed view) reported in
Bug #838150 https://bugs.launchpad.net/inkscape/+bug/838150 "X freeze on enabling color management"
Fixed in 10628 (fatal typo) Regards, Krzysztof
On 29/8/11 01:12, Krzysztof Kosiński wrote:
Revision 10589 removes all trace of libnr from Inkscape's code, which was a major refactoring goal. This is a rather big change and might break various things. Here is a short summary of the changes:
Regression with custom color swatches ('Auto' palette).
Steps to reproduce: 1) launch Inkscape with new (default) prefs 2) create two rectangles, select the first one 3) open Fill&Stroke and convert the fill to a swatch 4) change the color palette to 'Auto' (or use the 'Swatches' dialog with the 'Auto' palette selected) 5) select the other rectangle and assign the new swatch to its fill paint by clicking the (blue) swatch in the 'Auto' palette
-> crash (backtrace attached)
Related: Files with (multiple ?) custom swatches in use crash when generating the thumbnail preview in the 'File > Open...' dialog:
1) save attached SVG file into a new directory 2) launch inkscape, open the file dialog and disable the preview 3) browse to the new directory with the attached file 4) toggle preview on
-> crash
When testing with archived builds of earlier revisions, this worked up to 10588 and fails beginning with r10589 up to current (~) revision 10634 (last one tested).
All test done on Mac OS X 10.5.8 (i386).
(gdb) r Starting program: /Volumes/green/mp-inkscape/src/inkscape-trunk/Build/bin/inkscape Reading symbols for shared libraries ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.......................................................................... done Xlib: extension "RANDR" missing on display "/tmp/launch-EhMYaX/:0". Reading symbols for shared libraries . done Reading symbols for shared libraries . done Reading symbols for shared libraries . done Reading symbols for shared libraries . done Assertion failed: (this->is_initialized()), function operator->, file /Volumes/green/mp-inkscape/with-a-long-long-long-directory-name/include/boost/optional/optional.hpp, line 640.
Program received signal SIGABRT, Aborted. 0x90deae42 in __kill () (gdb) bt #0 0x90deae42 in __kill () #1 0x90deae34 in kill$UNIX2003 () #2 0x90e5d23a in raise () #3 0x90e69679 in abort () #4 0x90e5e3db in __assert_rtn () #5 0x001971bc in boost::optionalGeom::Rect::operator-> (this=0x769d0b4) at optional/optional.hpp:640 #6 0x00191aea in sp_gradient_pattern_common_setup (cp=0x766f440, gr=0x7ad6498, bbox=@0x769d0b4, opacity=1) at sp-gradient.cpp:1526 #7 0x00193f8a in sp_lineargradient_create_pattern (ps=0x7ad6498, bbox=@0x769d0b4, opacity=1) at sp-gradient.cpp:1567 #8 0x001d956f in sp_paint_server_create_pattern (ps=0x7ad6498, ct=0x8063400, bbox=@0x769d0b4, opacity=1) at sp-paint-server.cpp:82 #9 0x002f9911 in NRStyle::prepareFill (this=0x769d0fc, ct=@0xbfffd9e8, paintbox=@0x769d0b4) at display/nr-style.cpp:152 #10 0x002cf183 in Inkscape::DrawingShape::_renderItem (this=0x769d030, ct=@0xbfffd9e8, area=@0xbfffd840, flags=0, stop_at=0x0) at display/drawing-shape.cpp:182 #11 0x002c9bcd in Inkscape::DrawingItem::render (this=0x769d030, ct=@0xbfffd9e8, area=@0xbfffd9f8, flags=0, stop_at=0x0) at display/drawing-item.cpp:521 #12 0x002c5f36 in Inkscape::DrawingGroup::_renderItem (this=0x6f37360, ct=@0xbfffd9e8, area=@0xbfffd9f8, flags=0, stop_at=0x0) at display/drawing-group.cpp:103 #13 0x002c9e52 in Inkscape::DrawingItem::render (this=0x6f37360, ct=@0xbfffdbb8, area=@0xbfffdbc8, flags=0, stop_at=0x0) at display/drawing-item.cpp:570 #14 0x002c5f36 in Inkscape::DrawingGroup::_renderItem (this=0x6f37290, ct=@0xbfffdbb8, area=@0xbfffdbc8, flags=0, stop_at=0x0) at display/drawing-group.cpp:103 #15 0x002c9e52 in Inkscape::DrawingItem::render (this=0x6f37290, ct=@0xbfffdd88, area=@0xbfffdd98, flags=0, stop_at=0x0) at display/drawing-item.cpp:570 #16 0x002c5f36 in Inkscape::DrawingGroup::_renderItem (this=0x6f36030, ct=@0xbfffdd88, area=@0xbfffdd98, flags=0, stop_at=0x0) at display/drawing-group.cpp:103 #17 0x002c9e52 in Inkscape::DrawingItem::render (this=0x6f36030, ct=@0xbfffde64, area=@0xbfffde74, flags=0, stop_at=0x0) at display/drawing-item.cpp:570 #18 0x002c3897 in Inkscape::Drawing::render (this=0x718509c, ct=@0xbfffde64, area=@0xbfffde74, flags=0) at display/drawing.cpp:152 #19 0x002a4191 in sp_canvas_arena_render (item=0x7185000, buf=0xbfffdfd4) at display/canvas-arena.cpp:228 #20 0x0030682c in sp_canvas_group_render (item=0x6e840b0, buf=0xbfffdfd4) at display/sp-canvas.cpp:874 #21 0x0030682c in sp_canvas_group_render (item=0x6e84020, buf=0xbfffdfd4) at display/sp-canvas.cpp:874 #22 0x003035d8 in sp_canvas_paint_single_buffer (canvas=0x47fe370, paint_rect=@0xbfffe1a0, canvas_rect=@0xbfffe158) at display/sp-canvas.cpp:1681 #23 0x0030397c in sp_canvas_paint_rect_internal (setup=0xbfffe154, this_rect=@0xbfffe1a0) at display/sp-canvas.cpp:1794 #24 0x0030514b in sp_canvas_paint_rect (canvas=0x47fe370, xx0=192, yy0=-400, xx1=400, yy1=-192) at display/sp-canvas.cpp:1895 #25 0x00307a2a in paint (canvas=0x47fe370) at display/sp-canvas.cpp:2042 #26 0x00307bfb in do_update (canvas=0x47fe370) at display/sp-canvas.cpp:2079 #27 0x00307d2a in sp_canvas_update_now (canvas=0x47fe370) at display/sp-canvas.cpp:2189 #28 0x0003942a in SPDesktop::updateNow (this=0x5f6fd80) at desktop.cpp:1413 #29 0x00041fa5 in sigc::bound_mem_functor0<void, SPDesktop>::operator() (this=0x6f35abc) at functors/mem_fun.h:1787 #30 0x00041fbc in sigc::adaptor_functor<sigc::bound_mem_functor0<void, SPDesktop> >::operator() (this=0x6f35ab8) at adaptors/adaptor_trait.h:251 #31 0x00041fd8 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, SPDesktop>, void>::call_it (rep=0x6f35aa0) at functors/slot.h:103 #32 0x0079dde8 in sigc::internal::signal_emit0<void, sigc::nil>::emit (impl=0x6f35a50) at signal.h:772 #33 0x0079de96 in sigc::signal0<void, sigc::nil>::emit (this=0x663b428) at signal.h:2669 #34 0x0006c5c8 in Inkscape::DocumentUndo::maybeDone (doc=0x5f4af60, key=0x0, event_type=190, event_description=@0xbfffe5ac) at document-undo.cpp:200 #35 0x0006c623 in Inkscape::DocumentUndo::done (doc=0x5f4af60, event_type=190, event_description=@0xbfffe5ac) at document-undo.cpp:112 #36 0x005a3f40 in Inkscape::UI::Dialogs::ColorItem::buttonClicked (this=0x7c4ec40, secondary=false) at ui/dialog/color-item.cpp:729 #37 0x005a4007 in Inkscape::UI::Dialogs::handleClick (callback_data=0x7c4ec40) at ui/dialog/color-item.cpp:102 #38 0x04149f59 in g_closure_invoke () #39 0x0415c0d3 in signal_emit_unlocked_R () #40 0x0415d761 in g_signal_emit_valist () #41 0x0415da69 in g_signal_emit () #42 0x004d6977 in eek_preview_button_release_cb (widget=0x7b57c20, event=0x7b669f0) at widgets/eek-preview.cpp:467 #43 0x026ca85b in _gtk_marshal_BOOLEAN__BOXED () #44 0x04149f59 in g_closure_invoke () #45 0x0415c258 in signal_emit_unlocked_R () #46 0x0415d4a7 in g_signal_emit_valist () #47 0x0415da69 in g_signal_emit () #48 0x027f9546 in gtk_widget_event_internal () #49 0x026c8a58 in gtk_propagate_event () #50 0x026c8fcd in gtk_main_do_event () #51 0x00007370 in snooper (event=0x7b669f0) at main.cpp:912 #52 0x034f8845 in gdk_event_dispatch () #53 0x0420551d in g_main_context_dispatch () #54 0x042093ab in g_main_context_iterate () #55 0x04209687 in g_main_loop_run () #56 0x026c7fa1 in gtk_main () #57 0x0214d59b in Gtk::Main::run () #58 0x00007d1c in sp_main_gui (argc=1, argv=0xbffff0fc) at main.cpp:978 #59 0x00008502 in main (argc=1, argv=0xbffff0fc) at main.cpp:709 (gdb)
On 29/8/11 01:12, Krzysztof Kosiński wrote:
Revision 10589 removes all trace of libnr from Inkscape's code, which was a major refactoring goal. This is a rather big change and might break various things. Here is a short summary of the changes:
Regression in the gradient tool when adding new gradient stops on-canvas:
Bug #855676 https://bugs.launchpad.net/inkscape/+bug/855676 "Gradient - misplacing when adding new stop by mouse"
(Not reproduced with 0.48.2, 0.48+devel r10588, reproduced with r10589 and later revisions - last tested: r10640.)
~suv
On 29/08/2011 01:12, Krzysztof Kosiński wrote:
Revision 10589 removes all trace of libnr from Inkscape's code, which was a major refactoring goal. This is a rather big change and might break various things.
Regression with visual bounding box and mid-markers:
Bug #1051131 https://bugs.launchpad.net/inkscape/+bug/1051131 "Incorrect visual bbox for compound paths with mid-markers"
[ Not reproduced with stable 0.48.x and 0.48+devel r10588, reproduced with 10591 and later revisions - last tested: r11668 ]
~suv
participants (11)
-
Alvin Penner
-
Diederik van Lierop
-
Ivan Louette
-
Johan Engelen
-
Jon Cruz
-
Josh Andler
-
Krzysztof Kosiński
-
LucaDC
-
Preben Soeberg
-
Uwe Schöler
-
~suv