Opened 6 years ago

Closed 6 years ago

#1262 closed defect/bug (fixed)

auxmap OSD renders garbage at relative sizes

Reported by: mvglasow (2) Owned by: Singesang
Priority: major Milestone: version 0.5.1
Component: osd/core Version: git master
Severity: normal Keywords: osd, size, auxmap, patches
Cc: http://wiki.navit-project.org/index.php/user:mvglasow, (2)

Description

When the height or width of an auxmap OSD is a percentage, it will render as garbage. Visual appearance is similar to the symptoms in #1260 (on Linux, a somewhat random area of nearby screen content is rendered, usually distorted and sometimes with colors swapped).

However, the difference is that the items fixed with the #1260 patch were experiencing these issues only when being redrawn due to a window resize, while the first draw (or any redraw due to changed content) was OK. auxmap never renders correctly when its h or w attribute contains a percentage.

Whether the x and y attributes are absolute or relative makes no difference IIRC – absolute size is OK, relative size renders garbage.

Note that this issue only became apparent in r5901 – it was probably around all the time but in earlier versions it was overshadowed by #983.

Most of the issues in #1260 had to do with portions of the redraw code being skipped when the content had not changed (which would break in case of a resize), though the button/image OSD had a different issue – which might be similar to the one in auxmap.

Attachments (1)

trac1262.patch (1.2 KB) - added by mvglasow (2) 6 years ago.
Patch to fix relative-size auxmap, should be applied after #1260 patch

Download all attachments as: .zip

Change History (5)

comment:1 Changed 6 years ago by mvglasow (2)

  • Cc http://wiki.navit-project.org/index.php/user:mvglasow (2) added

comment:2 Changed 6 years ago by mvglasow (2)

Confirmed that only relative sizes are problematic, relative positions are not.

Also, it is just the map itself that renders garbage – the red circle showing position renders fine, even on top of the garbage.

Changed 6 years ago by mvglasow (2)

Patch to fix relative-size auxmap, should be applied after #1260 patch

comment:3 Changed 6 years ago by mvglasow (2)

  • Keywords patches added

Patch attached. The diff was created against r5904 plus the #1260 patch. Although the two patches touch different pieces of osd_core.c, it is recommended to apply first #1260, then #1262.

comment:4 Changed 6 years ago by kazer

  • Resolution set to fixed
  • Status changed from new to closed

Thank you mvglasow, nice work here.

Patch applied in r5910

Note: See TracTickets for help on using tickets.