Error messages from Extensions hidden
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| Inkscape |
Fix Released
|
Medium
|
John Smith | ||
| inkscape (Ubuntu) |
Fix Released
|
Low
|
Unassigned | ||
Bug Description
If an extension has an error or 'additional information' it is shown in a message dialog.
This message is hidden in the dialog on Ubuntu due to the overlay scrollbar and the message window having 0 size.
To reproduce:
1. Start inkscape with empty document
2. Extensions > Modify Path > Perspective
3. A message dialog will appear, but the message is not visible
Ubuntu 11.10 / r10826.
Related branches
- Ubuntu branches: Pending requested
-
Diff: 34408 lines (+12230/-6844) 384 files modifiedapiInfo.plist (+3/-3)
Makefile.am (+34/-8)
Makefile.in (+214/-60)
aclocal.m4 (+123/-48)
build.xml (+3/-2)
compile (+183/-16)
config.h.in (+12/-6)
configure (+404/-361)
configure.ac (+53/-78)
debian/changelog (+21/-0)
debian/control (+2/-2)
debian/patches/00list (+0/-1)
debian/patches/02-add-shebangs-and-fix-permissions.dpatch (+0/-478)
depcomp (+66/-8)
doc/Makefile.in (+28/-15)
doc/keys.en.html (+199/-178)
doc/keys.fr.html (+199/-178)
doc/keys.ja.html (+202/-181)
inkscape.1 (+16/-78)
inkscape.el.1 (+829/-0)
inkscape.el.pod (+677/-0)
inkscape.fr.1 (+398/-411)
inkscape.fr.pod (+394/-322)
inkscape.ja.1 (+695/-0)
inkscape.sk.1 (+736/-0)
inkscape.sk.pod (+567/-0)
inkscape.spec (+1/-1)
inkscape.zh_TW.1 (+663/-0)
inkscape.zh_TW.pod (+492/-0)
install-sh (+18/-11)
missing (+4/-49)
mkinstalldirs (+72/-21)
packaging/macosx/Resources/bin/inkscape (+1/-0)
packaging/macosx/osx-app.sh (+30/-21)
po/Makefile.in.in (+9/-4)
po/POTFILES.in (+1/-0)
po/de.po (+3/-3)
po/fr.po (+32/-5)
share/Makefile.in (+28/-15)
share/clipart/Makefile.in (+35/-18)
share/examples/Makefile.in (+35/-18)
share/extensions/Barcode/Makefile.am (+2/-2)
share/extensions/Barcode/Makefile.in (+58/-56)
share/extensions/Makefile.am (+5/-4)
share/extensions/Makefile.in (+42/-28)
share/extensions/Poly3DObjects/Makefile.in (+35/-18)
share/extensions/alphabet_soup/Makefile.in (+35/-18)
share/extensions/color_blackandwhite.py (+2/-0)
share/extensions/color_brighter.py (+2/-0)
share/extensions/color_custom.py (+51/-20)
share/extensions/color_darker.py (+2/-0)
share/extensions/color_desaturate.py (+3/-1)
share/extensions/color_grayscale.py (+3/-1)
share/extensions/color_lesshue.py (+2/-0)
share/extensions/color_lesslight.py (+2/-0)
share/extensions/color_lesssaturation.py (+2/-0)
share/extensions/color_morehue.py (+2/-0)
share/extensions/color_morelight.py (+2/-0)
share/extensions/color_moresaturation.py (+2/-0)
share/extensions/color_negative.py (+3/-1)
share/extensions/color_randomize.py (+2/-0)
share/extensions/color_removeblue.py (+3/-1)
share/extensions/color_removegreen.py (+3/-1)
share/extensions/color_removered.py (+3/-1)
share/extensions/color_replace.py (+2/-0)
share/extensions/color_rgbbarrel.py (+3/-1)
share/extensions/convert2dashes.py (+3/-1)
share/extensions/cspsubdiv.py (+18/-22)
share/extensions/dxf_outlines.inx (+23/-5)
share/extensions/dxf_outlines.py (+44/-7)
share/extensions/gimp_xcf.py (+2/-2)
share/extensions/perspective.py (+8/-6)
share/extensions/render_barcode.py (+1/-0)
share/extensions/run_command.py (+2/-0)
share/extensions/simplestyle.py (+16/-6)
share/extensions/simpletransform.py (+50/-3)
share/extensions/summersnight.py (+8/-2)
share/extensions/test/Makefile.in (+28/-15)
share/extensions/text_braille.py (+2/-0)
share/extensions/text_flipcase.py (+2/-0)
share/extensions/text_lowercase.py (+2/-0)
share/extensions/text_randomcase.py (+2/-0)
share/extensions/text_replace.py (+2/-0)
share/extensions/text_sentencecase.py (+2/-0)
share/extensions/text_titlecase.py (+2/-0)
share/extensions/text_uppercase.py (+2/-0)
share/extensions/voronoi.py (+2/-1)
share/extensions/voronoi2svg.py (+362/-0)
share/extensions/xaml2svg/Makefile.in (+35/-18)
share/filters/Makefile.in (+35/-18)
share/fonts/Makefile.in (+35/-18)
share/gradients/Makefile.in (+35/-18)
share/icons/Makefile.in (+35/-18)
share/icons/application/16x16/Makefile.in (+35/-18)
share/icons/application/22x22/Makefile.in (+35/-18)
share/icons/application/24x24/Makefile.in (+35/-18)
share/icons/application/256x256/Makefile.in (+35/-18)
share/icons/application/32x32/Makefile.in (+35/-18)
share/icons/application/48x48/Makefile.in (+35/-18)
share/icons/application/Makefile.in (+28/-15)
share/keys/Makefile.in (+35/-18)
share/markers/Makefile.in (+35/-18)
share/markers/markers.svg (+117/-121)
share/palettes/Makefile.in (+35/-18)
share/patterns/Makefile.in (+35/-18)
share/screens/Makefile.in (+35/-18)
share/templates/Makefile.in (+35/-18)
share/tutorials/Makefile.in (+35/-18)
share/tutorials/tutorial-advanced.nl.svg (+235/-257)
share/tutorials/tutorial-basic.nl.svg (+227/-242)
share/tutorials/tutorial-elements.nl.svg (+164/-180)
share/tutorials/tutorial-interpolate.nl.svg (+81/-97)
share/tutorials/tutorial-shapes.nl.svg (+259/-274)
share/tutorials/tutorial-tips.nl.svg (+100/-116)
share/tutorials/tutorial-tracing.nl.svg (+55/-71)
share/ui/Makefile.in (+35/-18)
src/2geom/matrix.h (+1/-1)
src/2geom/path-intersection.cpp (+2/-2)
src/2geom/solve-bezier-parametric.cpp (+6/-6)
src/Makefile.in (+131/-122)
src/Makefile_insert (+1/-2)
src/application/application.h (+1/-1)
src/application/editor.h (+1/-1)
src/attributes.cpp (+0/-1)
src/attributes.h (+1/-2)
src/bind/javabind.cpp (+1/-1)
src/box3d.cpp (+5/-2)
src/cms-color-types.h (+100/-0)
src/cms-system.h (+60/-0)
src/color-profile-cms-fns.h (+53/-0)
src/color-profile-fns.h (+0/-64)
src/color-profile-test.h (+0/-1)
src/color-profile.cpp (+436/-200)
src/color-profile.h (+37/-36)
src/color-rgba.h (+1/-2)
src/conn-avoid-ref.h (+1/-1)
src/cxxtests.cpp (+4/-4)
src/debug/logger.cpp (+1/-1)
src/debug/simple-event.h (+0/-2)
src/debug/timestamp.cpp (+1/-2)
src/desktop-style.h (+1/-1)
src/dialogs/clonetiler.cpp (+1/-1)
src/dialogs/xml-tree.cpp (+1/-0)
src/dir-util.cpp (+1/-5)
src/dir-util.h (+1/-1)
src/display/canvas-arena.cpp (+8/-4)
src/display/canvas-axonomgrid.cpp (+6/-2)
src/display/canvas-bpath.h (+1/-1)
src/display/canvas-grid.cpp (+21/-1)
src/display/canvas-grid.h (+1/-0)
src/display/canvas-temporary-item.h (+1/-0)
src/display/curve.cpp (+1/-1)
src/display/curve.h (+1/-2)
src/display/gnome-canvas-acetate.h (+1/-1)
src/display/nr-3dutils.cpp (+1/-1)
src/display/nr-arena-glyphs.cpp (+5/-5)
src/display/nr-arena-group.cpp (+3/-3)
src/display/nr-arena-image.cpp (+2/-2)
src/display/nr-arena-item.cpp (+17/-4)
src/display/nr-arena-item.h (+4/-1)
src/display/nr-arena-shape.cpp (+10/-6)
src/display/nr-arena.h (+1/-1)
src/display/nr-filter-diffuselighting.cpp (+1/-1)
src/display/nr-filter-gaussian.cpp (+10/-10)
src/display/nr-filter-specularlighting.cpp (+1/-1)
src/display/nr-plain-stuff.cpp (+1/-1)
src/display/nr-plain-stuff.h (+1/-1)
src/display/sodipodi-ctrlrect.h (+1/-1)
src/display/sp-canvas.cpp (+15/-18)
src/display/sp-canvas.h (+8/-5)
src/document-subset.cpp (+1/-1)
src/document.cpp (+4/-3)
src/draw-anchor.h (+1/-1)
src/dyna-draw-context.cpp (+1/-1)
src/eraser-context.cpp (+1/-1)
src/event-context.cpp (+1/-1)
src/extension/implementation/script.cpp (+31/-13)
src/extension/internal/cairo-render-context.cpp (+1/-1)
src/extension/internal/cairo-renderer.cpp (+1/-1)
src/extension/internal/emf-win32-inout.cpp (+1/-1)
src/extension/internal/emf-win32-print.cpp (+55/-95)
src/extension/internal/filter/drop-shadow.h (+98/-94)
src/extension/internal/pdfinput/pdf-input.cpp (+2/-2)
src/extension/internal/pdfinput/svg-builder.h (+1/-1)
src/extension/internal/win32.cpp (+1/-1)
src/extract-uri.h (+1/-1)
src/file.cpp (+23/-2)
src/file.h (+1/-1)
src/filters/blend-fns.h (+1/-1)
src/filters/colormatrix-fns.h (+1/-1)
src/filters/componenttransfer-fns.h (+1/-1)
src/filters/composite-fns.h (+1/-1)
src/filters/convolvematrix-fns.h (+1/-1)
src/filters/diffuselighting-fns.h (+1/-1)
src/filters/displacementmap-fns.h (+1/-1)
src/filters/flood-fns.h (+1/-1)
src/filters/image-fns.h (+1/-1)
src/filters/merge-fns.h (+1/-1)
src/filters/morphology-fns.h (+1/-1)
src/filters/offset-fns.h (+1/-1)
src/filters/specularlighting-fns.h (+1/-1)
src/filters/tile-fns.h (+1/-1)
src/filters/turbulence-fns.h (+1/-1)
src/gc-anchored.h (+1/-1)
src/gc-core.h (+1/-1)
src/gc.cpp (+1/-1)
src/gradient-drag.h (+1/-1)
src/graphlayout.cpp (+4/-3)
src/help.h (+1/-1)
src/helper/gnome-utils.h (+1/-2)
src/helper/pixbuf-ops.cpp (+0/-1)
src/helper/pixbuf-ops.h (+1/-1)
src/helper/png-write.cpp (+1/-1)
src/helper/png-write.h (+1/-1)
src/helper/stlport.h (+1/-2)
src/helper/stock-items.h (+1/-1)
src/helper/unit-menu.h (+1/-1)
src/helper/units.h (+1/-3)
src/ige-mac-menu.c (+0/-915)
src/ige-mac-menu.h (+0/-43)
src/inkscape-version.cpp (+1/-1)
src/inkscape.h (+1/-1)
src/inkview.cpp (+1/-1)
src/interface.cpp (+0/-15)
src/io/ftos.cpp (+3/-1)
src/io/inkjar.cpp (+10/-8)
src/io/inkjar.h (+1/-2)
src/io/resource.cpp (+1/-4)
src/io/sys.cpp (+1/-4)
src/io/sys.h (+1/-3)
src/knot-holder-entity.h (+1/-1)
src/knotholder.h (+1/-1)
src/libcola/shortest_paths.cpp (+10/-8)
src/libcroco/cr-libxml-node-iface.h (+1/-1)
src/libcroco/cr-node-iface.h (+1/-2)
src/libgdl/gdl-dock-item.c (+5/-1)
src/libgdl/gdl-stock.h (+1/-1)
src/libgdl/gdl-switcher.c (+2/-0)
src/libnr/in-svg-plane-test.h (+1/-1)
src/libnr/nr-gradient.cpp (+1/-1)
src/libnr/nr-i-coord.h (+1/-1)
src/libnr/nr-matrix.h (+1/-2)
src/libnr/nr-object.cpp (+1/-1)
src/libnr/nr-object.h (+1/-1)
src/libnr/nr-pixblock-pattern.cpp (+1/-1)
src/libnr/nr-pixblock.cpp (+1/-1)
src/libnr/nr-point-fns-test.h (+1/-1)
src/libnr/nr-rotate-fns-test.h (+1/-1)
src/libnrtype/FontFactory.cpp (+1/-1)
src/libnrtype/FontInstance.cpp (+1/-1)
src/libnrtype/Layout-TNG-Output.cpp (+1/-1)
src/libnrtype/nr-type-primitives.cpp (+1/-1)
src/libnrtype/nr-type-primitives.h (+1/-1)
src/livarot/AlphaLigne.cpp (+1/-1)
src/livarot/BitLigne.cpp (+1/-1)
src/livarot/PathSimplify.cpp (+1/-1)
src/livarot/Shape.cpp (+1/-1)
src/livarot/ShapeSweep.cpp (+3/-1)
src/livarot/int-line.cpp (+1/-1)
src/livarot/sweep-event.cpp (+1/-1)
src/livarot/sweep-tree-list.cpp (+1/-1)
src/live_effects/parameter/array.h (+1/-1)
src/live_effects/parameter/bool.h (+1/-1)
src/live_effects/parameter/enum.h (+1/-1)
src/live_effects/parameter/path.h (+1/-1)
src/live_effects/parameter/point.h (+1/-1)
src/live_effects/parameter/text.h (+1/-1)
src/live_effects/parameter/vector.h (+1/-1)
src/main-cmdlineact.h (+1/-1)
src/main.cpp (+0/-1)
src/message-context.cpp (+1/-1)
src/message-stack.cpp (+1/-1)
src/modifier-fns.h (+1/-1)
src/object-hierarchy.h (+1/-1)
src/path-chemistry.cpp (+1/-1)
src/removeoverlap.h (+1/-1)
src/selection-chemistry.cpp (+16/-3)
src/sp-conn-end-pair.h (+1/-1)
src/sp-conn-end.h (+1/-1)
src/sp-filter-fns.h (+1/-1)
src/sp-gaussian-blur-fns.h (+1/-1)
src/sp-gradient-fns.h (+1/-1)
src/sp-gradient-vector.h (+1/-1)
src/sp-guide.cpp (+19/-15)
src/sp-image.cpp (+26/-18)
src/sp-image.h (+2/-2)
src/sp-linear-gradient-fns.h (+1/-1)
src/sp-metrics.h (+1/-2)
src/sp-namedview.cpp (+14/-5)
src/sp-namedview.h (+1/-0)
src/sp-object-repr.cpp (+1/-3)
src/sp-object.cpp (+2/-2)
src/sp-offset.cpp (+32/-15)
src/sp-radial-gradient.h (+1/-1)
src/sp-stop.h (+1/-1)
src/sp-text.h (+1/-1)
src/sp-textpath.h (+1/-1)
src/sp-tspan.h (+1/-1)
src/splivarot.cpp (+4/-6)
src/spray-context.cpp (+1/-1)
src/svg/css-ostringstream.cpp (+1/-2)
src/svg/css-ostringstream.h (+1/-1)
src/svg/stringstream.h (+1/-1)
src/svg/strip-trailing-zeros.cpp (+1/-1)
src/svg/svg-affine.cpp (+1/-1)
src/svg/svg-color.cpp (+14/-18)
src/svg/svg-color.h (+1/-1)
src/svg/svg-length.cpp (+1/-1)
src/svg/svg-length.h (+1/-1)
src/svg/svg-path-geom-test.h (+1/-1)
src/svg/svg-path.cpp (+0/-3)
src/svg/svg.h (+1/-1)
src/text-editing.h (+1/-1)
src/text-tag-attributes.h (+1/-1)
src/trace/imagemap.cpp (+7/-1)
src/trace/potrace/potracelib.cpp (+1/-1)
src/tweak-context.cpp (+1/-1)
src/ui/cache/svg_preview_cache.cpp (+1/-1)
src/ui/clipboard.cpp (+1/-3)
src/ui/dialog/desktop-tracker.h (+1/-1)
src/ui/dialog/dialog-manager.h (+1/-1)
src/ui/dialog/document-properties.cpp (+59/-78)
src/ui/dialog/document-properties.h (+7/-6)
src/ui/dialog/filedialogimpl-win32.cpp (+12/-1)
src/ui/dialog/glyphs.cpp (+1/-1)
src/ui/dialog/icon-preview.cpp (+1/-1)
src/ui/dialog/inkscape-preferences.cpp (+33/-18)
src/ui/dialog/input.cpp (+4/-2)
src/ui/dialog/layers.cpp (+7/-0)
src/ui/dialog/livepatheffect-editor.cpp (+1/-0)
src/ui/dialog/messages.cpp (+34/-8)
src/ui/dialog/messages.h (+7/-2)
src/ui/tool/control-point-selection.cpp (+1/-1)
src/ui/tool/control-point-selection.h (+1/-1)
src/ui/tool/control-point.cpp (+53/-8)
src/ui/tool/control-point.h (+3/-2)
src/ui/tool/curve-drag-point.cpp (+16/-3)
src/ui/tool/curve-drag-point.h (+2/-1)
src/ui/tool/manipulator.h (+4/-3)
src/ui/tool/multi-path-manipulator.cpp (+2/-2)
src/ui/tool/multi-path-manipulator.h (+1/-1)
src/ui/tool/node-tool.cpp (+3/-3)
src/ui/tool/node.cpp (+13/-10)
src/ui/tool/node.h (+2/-2)
src/ui/tool/path-manipulator.cpp (+1/-1)
src/ui/tool/path-manipulator.h (+1/-1)
src/ui/tool/selector.cpp (+7/-7)
src/ui/tool/selector.h (+1/-1)
src/ui/tool/transform-handle-set.cpp (+1/-1)
src/ui/tool/transform-handle-set.h (+1/-1)
src/ui/widget/dock-item.cpp (+2/-2)
src/ui/widget/icon-widget.cpp (+1/-1)
src/ui/widget/spin-slider.cpp (+1/-1)
src/unclump.h (+1/-1)
src/uri.h (+1/-1)
src/util/glib-list-iterators.h (+1/-2)
src/util/share.cpp (+1/-1)
src/version.cpp (+1/-1)
src/version.h (+1/-1)
src/widgets/desktop-widget.cpp (+39/-34)
src/widgets/icon.cpp (+1/-1)
src/widgets/sp-color-icc-selector.cpp (+107/-64)
src/widgets/sp-color-icc-selector.h (+8/-10)
src/widgets/sp-color-notebook.cpp (+18/-22)
src/widgets/sp-color-notebook.h (+2/-2)
src/widgets/sp-color-scales.h (+1/-1)
src/widgets/sp-color-wheel-selector.h (+1/-1)
src/widgets/spinbutton-events.h (+1/-1)
src/widgets/spw-utilities.h (+2/-3)
src/widgets/stroke-style.cpp (+1/-1)
src/xml/attribute-record.h (+1/-2)
src/xml/comment-node.h (+1/-1)
src/xml/croco-node-iface.cpp (+1/-1)
src/xml/event.h (+1/-2)
src/xml/node-event-vector.h (+1/-1)
src/xml/node-observer.h (+1/-1)
src/xml/node.h (+1/-1)
src/xml/pi-node.h (+1/-1)
src/xml/quote.cpp (+1/-1)
src/xml/rebase-hrefs.cpp (+1/-3)
src/xml/rebase-hrefs.h (+1/-1)
src/xml/repr.h (+1/-1)
src/xml/simple-node.cpp (+1/-1)
src/xml/text-node.h (+1/-1)
While appreciating the efforts to adapt Inkscape for Ubuntu users, I repeat my concerns mentioned earlier in a related report:
Shouldn't these things also be reported upstream to what actually triggers it (AFAIK ayatana-scrollbar)? I can't image that Inkscape is the only Gtk+ application which doesn't force hard-coded minimal px dimensions on everything. Isn't it Ubuntu and its custom modification of the Gtk+ scroll bars which breaks Inkscape's GUI?
The attachment "911079.patch" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-reviewers team please also unsubscribe the team from this bug report.
[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]
removed: patch
@JazzyNico, @John - while I tended to oppose to fix the overlay-scrollbar issues in Inkscape itself for each of the affected widgets separately, maybe the problem reported here could be addressed in a way that would satisfy other needs as well? I'm thinking of the fact that the initial size of the dialog - especially when used e.g. for debugging purposes in the development process of extensions - is rather small which at some point had triggered a (now reverted) change to always open the dialog in maximized state - see bug #813807.
How difficult would it be to make the dialog remember its last use window size (and position), and adjust (or expand) the size of the text field (scrollwindow) to the restored dialog size (instead of using a hard-coded minimal height)?
- ExtensionMessageDialog.png Edit (35.2 KiB, image/png)
How about if we convert it into a standard dockable Inkscape dialog ?
Dialog can then remain open if the user desires and the window size is remembered if closed and reopened.
> How about if we convert it into a standard dockable Inkscape dialog ?
IMHO it would be better to make the normal extensions dialog (based on the INX file) dockable, but not the one used to provide feedback from the extension script (be it an error or additional information) - to me it makes sense that the error message dialog is modal.
@JazzyNico, what do you think?
Maybe it would be best to commit the initial patch ("Patch to add a minimum size to the message window") for now, and backport it to 0.48.x, so that the message displayed in the dialog is readable again for Ubuntu users (and those with custom gtk themes without minimal constraints for the scroll bar slider length and arrows turned off).
> IMHO it would be better to make the normal extensions dialog dockable, but not the one used to provide feedback
Yes, it would be very handy and improve the ui consistency.
> How difficult would it be to make the dialog remember its last use window size.
Don't know. I guess it's just saving the size and position in the prefs file and restore it when needed, but the extension system is a bit specific and may require more work. Will take a look.
> Maybe it would be best to commit the initial patch ("Patch to add a minimum size to the message window") for now, and backport it to 0.48.x
Yes shall we commit this before 0.48.3 ?
> IMHO it would be better to make the normal extensions dialog dockable,
Issue created as bug #929361
> Yes shall we commit this before 0.48.3 ?
Since we have already committed some similar fixes elsewhere, yes.
Initial patch committed to trunk as r10964
Initial patch committed to 0.48.x branch as 9876
This bug was fixed in the package inkscape - 0.48.3-0ubuntu1
---------------
inkscape (0.48.3-0ubuntu1) precise; urgency=low
* New upstream release (LP: #933188). Fixes several Ubuntu bugs:
- inkscape fails to build with glib 2.31 (LP: #898538)
- ctrl c ctrl v of text in edit mode crashes inkscape (LP: #496793)
- Completely replace lcms1 by lcms2 in Ubuntu (LP: #885324)
- parameters ending with '\' causes python to bomb (LP: #168417)
- Extensions with <check> tags fail to load (LP: #668895)
- ESC doesn't cancel move when using the Node Tool (LP: #788560)
- unable to edit attributes in Inkscape XML Editor (LP: #884368)
- Some layers should be visible by default in Layers dialog (LP: #902054)
- Path Effect List is hidden (LP: #909958)
- Input Devices > Hardware > Tree of devices is hidden (LP: #910467)
- Glyphs Font styles are hidden (LP: #911079)
- Error messages from Extensions hidden (LP: #911079)
- Messages dialog doesn't work (LP: #911123)
* Drop 02-add-
* Drop build-dependency on specific libwpd/libwpg version.
-- Alex Valavanis <email address hidden> 2012年2月16日 14:33:40 +0000