FOOTPRINT_PREVIEW_PANEL may have locale issues

Bug #1676047 reported by Chris Pavlina
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Expired
Low

Bug Description

FOOTPRINT_PREVIEW_PANEL's loader thread calls FP_LIB_TABLE::FootprintLoadWithOptionalNickname. I'm not sure if this function makes use of LOCALE_IO, but if so it does not belong in the threaded environment. A possible and easy fix would be to wait until the footprint selector has loaded all the footprints via its FOOTPRINT_ASYNC_LOADER, since this is all handled there, before displaying footprints. This fix would depend on cleaning up footprint caching, I think (currently eeschema and pcbnew do not share a cache, and FOOTPRINT_PREVIEW_PANEL runs in pcbnew's domain).

Filing this so I don't forget about it as I won't have time for kicad work for a couple days.

tags: added: componentchooser
Revision history for this message
Chris Pavlina (pavlina-chris) wrote :

Yup, can confirm: FP_LOADER_THREAD::ProcessEntry indirectly calls PCB_IO::FootprintLoad which creates a LOCALE_IO.

Think I'll have to make FP_LOADER_THREAD only prefetch, and the main thread load/parse, just like with the selector.

Changed in kicad:
milestone: none → 5.0.0-rc1
tags: added: eeschema pcbnew
Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

KiCad bug tracker has moved to Gitlab. This report is now available here: https://gitlab.com/kicad/code/kicad/-/issues/1840

Changed in kicad:
status: Triaged → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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