Text objects with fill and stroke 'None' are invisible in outline mode

Bug #941597 reported by su_v
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Medium
zcgucas

Bug Description

Follow-up report to Bug #941174 “latex+pdf export text duplicated”:

This question by the reporter of bug #941174:
> Is there a possibility to make this invisible texts
> visible within inkscape

reveals a bug in outline view mode in Inkscape stable and trunk: normally, invisible objects due to fill and stroke set to 'None' are visible and selectable in outline view mode (menu 'View > Display Mode > Outline'). This unexpectedly does not apply to text objects with fill and stroke set to 'None' (be it by an explicit style attribute of the text, or by an inherited style of the parent container (group)).

Due to this bug (not related to the latex export), it is not possible to quickly detect such invisible text objects by switching to outline mode (see attached reduced test case).

Tags: renderer text
Revision history for this message
su_v (suv-lp) wrote :
tags: added: renderer text
tags: added: easy-fix
Revision history for this message
jazzynico (jazzynico) wrote :

Confirmed on Windows XP, Inkscape 0.46, 0.48.2 and trunk revision 10972.

Changed in inkscape:
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
zcgucas (zcgucas) wrote :

I am a student who want to apply GSOC project. Following the two bug fixing rule, here I tried to fix this bug and provide a patch. Hope it will work. :D

Revision history for this message
Johan Engelen (johanengelen) wrote :

Your patch fixes the bug, but there may be a dangerous bug: the patch removes the check if _font==NULL, but then later on in code *_font is used. Can you add a check for this?

Thanks.

Revision history for this message
zcgucas (zcgucas) wrote :

Hi, Johan, in fact the code still checks whether _font is null after those lines I changed. In the member function _pickItem, the original line "if (!_font || !_bbox) return NULL;" is replaced by "if (!_font || !_bbox || (!_drawing.outline() && invisible) ) return NULL;". We could see that it still checks whether _font is NULL. The added code is to ensure texts are not selectable when it is not in outline mode when they are set to be invisible(This is what inkscape does before I changed any code).

Revision history for this message
Kris (kris-degussem) wrote :

Patch committed in revision 11359. Thanks for sharing it.

Changed in inkscape:
status: Confirmed → Fix Committed
assignee: nobody → zcgucas (zcgucas)
milestone: none → 0.49
tags: removed: easy-fix
Kris (kris-degussem)
tags: added: backport-proposed
Revision history for this message
ScislaC (scislac) wrote :

There is no easily found corresponding code in 0.48.x, removing tag

tags: removed: backport-proposed
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.