kicad/common
Seth Hillbrand 6fc393c7db Upgrade file locking
wxSingleInstanceChecker is meant for running programs, not file locking.
This implements an RAII class for file locking that stores the lock
files next to the file being locked, allowing it to be easily found and
removed.  Also includes the ability to override the lock, with
information about the original owner

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14734

(cherry picked from commit 122be418bb)
2023-06-18 01:06:40 +02:00
..
database Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05:00
dialog_about Update translator contributions 2023-04-03 13:07:33 -07:00
dialogs Adapt panels to PAGED_DIALOG sizing algorithm. 2023-06-17 15:19:26 +03:00
drawing_sheet Spread the error-bar move evenly around justified text. 2023-06-04 21:15:22 +01:00
font Replace larger text bboxes now that we're not using them for knockouts. 2023-06-06 11:19:41 +01:00
gal Avoid deadlock when OpenGL context can't be created. 2023-06-11 20:12:22 +03:00
jobs Command line PCB gerber export fix and improvement. 2023-06-16 07:14:37 -04:00
kicad_curl Init curl in InitPgm for thread safety 2023-04-15 13:19:32 +00:00
libeval If we don't recognize a var then it's an error, not 0.0. 2022-12-27 13:50:44 +00:00
libeval_compiler Bug fixes for handling boolean flags in DRC rules. 2023-06-02 00:20:11 +01:00
plotters Correct alpha blending in PDF plot 2023-05-11 16:27:15 -07:00
plugins Fix capitalization of text vars for Eagle importer. 2023-05-06 23:53:18 +01:00
preview_items Clear loop points when resetting polygon/zone draw. 2022-12-15 19:02:22 +03:00
project Don't try to open files multiple times 2023-05-10 16:09:32 +00:00
properties Prevent axes settings from affecting angles in properties panel. 2023-05-12 12:50:25 +00:00
settings Upgrade file locking 2023-06-18 01:06:40 +02:00
swig Add vector3 to swig 2023-03-06 11:23:09 -08:00
tool Fix GitLab URLs to point to the correct project page 2023-05-17 13:42:48 +01:00
view Amend overly aggressive assert. 2023-04-17 17:52:28 +01:00
widgets Cleanup. 2023-06-17 16:04:56 +01:00
CMakeLists.txt Upgrade file locking 2023-06-18 01:06:40 +02:00
advanced_config.cpp Change the spacemouse driver flag to true for windows by default 2023-05-07 16:12:57 +00:00
array_axis.cpp Some more wxS 2023-01-15 21:32:23 -05:00
array_options.cpp More EDA_ANGLE changes. 2022-01-14 16:08:19 +00:00
asset_archive.cpp Some more wxS 2023-01-16 19:07:50 -05:00
base64.cpp
base_screen.cpp Some more wxS 2023-01-16 19:07:50 -05:00
bin_mod.cpp Include optimization: move some things from common.h to point-of-use 2021-03-20 12:09:18 -04:00
bitmap.cpp Improve HiDPI handling of appearance/layer controls 2023-03-07 08:49:06 -05:00
bitmap_base.cpp OPENGL_GAL: draw BITMAP_BASE: fix incorrect rendering of mirrored bitmaps 2023-04-23 16:12:14 +02:00
bitmap_info.cpp Schematic: re-enable old break wire functionality, add slice 2022-12-19 15:55:59 -05:00
bitmap_store.cpp Utilize our combine_hash routine for multiple hash 2022-08-26 08:45:13 -07:00
board_printout.cpp Pcb printing: fix incorrect pos. of the board when printed without worksheet. 2023-02-08 11:05:31 +01:00
build_version.cpp Make version info work without lsb-release installed 2023-04-12 16:13:51 +01:00
callback_gal.cpp Improve appearance of stroked knockout text. 2023-06-04 20:56:05 +01:00
commit.cpp More tightening of group parent lifecycles. 2022-11-16 00:42:38 +00:00
common.cpp Allow variable recursion 2023-01-20 16:44:48 -08:00
config_params.cpp Fix some warnings detected by PVS-STUDIO (most are not used vars) 2022-07-25 18:23:52 +02:00
confirm.cpp Fix cli crash due to dialogs buried in the pcb parser... 2023-03-24 23:53:15 +00:00
dialog_shim.cpp UI: Add Numpad Enter as "Return" equivalent in missing places 2023-06-05 08:58:50 -04:00
draw_panel_gal.cpp Fix view shifting when infobar is shown. 2023-06-02 18:07:48 +03:00
drc_rules.keywords Move connection width testing to rule system. 2022-08-01 13:09:51 +01:00
dsnlexer.cpp Suppress signedness warning 2022-11-03 15:08:45 -07:00
eda_base_frame.cpp Maintain file permissions when renaming 2023-06-18 01:06:14 +02:00
eda_dde.cpp Fix comment placement 2022-09-28 21:19:19 -04:00
eda_doc.cpp Fix wxWidgets compilation issue. 2023-05-10 16:34:46 +00:00
eda_draw_frame.cpp Upgrade file locking 2023-06-18 01:06:40 +02:00
eda_item.cpp Properties: Rename methods to better reflect their purposes 2023-03-26 19:48:46 -04:00
eda_pattern_match.cpp Go back to winner-takes-all lib-tree scoring algorithm. 2023-04-30 12:32:19 +01:00
eda_shape.cpp EDA_SHAPE_DESC(): catch a std::runtime_error when emitted by 2023-03-20 16:21:54 +01:00
eda_text.cpp Replace larger text bboxes now that we're not using them for knockouts. 2023-06-06 11:19:41 +01:00
eda_tools.cpp Fix shadowed definition of EAGLE constant 2022-09-24 01:37:57 +01:00
eda_units.cpp When importing legacy PCB dimension: Use automatic dimension when Unit couldn't be determined 2023-02-28 14:21:12 +00:00
env_paths.cpp More wxS ugh 2023-01-17 07:43:04 -05:00
env_vars.cpp Update KICAD6->KICAD7 2023-01-23 22:21:12 +00:00
eseries.cpp Calculator eseries, remove trailing spaces from 3R and 4R 2023-01-16 17:18:21 +00:00
exceptions.cpp Don't double-up FUTURE_FORMAT_ERROR problem strings. 2023-06-04 21:21:18 +01:00
executable_names.cpp wxS more things 2023-01-22 09:41:42 -05:00
file_history.cpp Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
filename_resolver.cpp Update KICAD6->KICAD7 2023-01-23 22:21:12 +00:00
filter_reader.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
footprint_filter.cpp Retire the lib-tree scoring algorithm. 2023-04-15 00:09:34 +01:00
footprint_info.cpp Some more wxS 2023-01-16 19:07:50 -05:00
fp_lib_table.cpp PCM: auto reload global libs after dialog is run 2023-02-28 16:48:28 -05:00
gbr_metadata.cpp Some more wxS 2023-01-16 19:07:50 -05:00
gestfich.cpp Revert "cmake: adding KICAD_MACOSX_APP_BUNDLE option" 2022-01-31 15:57:56 -08:00
getrunningmicrosecs.cpp
gl_context_mgr.cpp Fix lock condition in GL_CONTEXT_MANAGER, remove unnecessary assert. 2023-06-14 04:46:06 +00:00
gr_basic.cpp gr_basic.cpp: ensure a pen with width = 0 is transparent. 2023-06-12 08:45:01 +02:00
gr_text.cpp Separate text-thickness clamping into strict and lenient modes. 2022-09-08 00:28:30 +01:00
grid_tricks.cpp Correctly handle hidden columns when pasting into grids. 2023-06-04 21:24:35 +01:00
hash_eda.cpp Utilize our combine_hash routine for multiple hash 2022-08-26 08:45:13 -07:00
hotkey_store.cpp Gerber Viewer: gerbview -> Gerber Viewer in Settings 2022-07-26 18:42:55 +00:00
hotkeys_basic.cpp Some more wxS 2023-01-16 19:07:50 -05:00
html_window.cpp Formatting. 2021-10-15 12:45:43 +01:00
kiface_base.cpp Fix paths for Copy default global library table. 2023-01-27 09:24:52 +03:00
kiid.cpp Sheet instance handling improvements. 2022-12-26 08:30:03 -05:00
kiway.cpp Clear the playerFrame lookup cache when closing frames. 2023-06-11 22:31:24 +01:00
kiway_express.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
kiway_holder.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
kiway_player.cpp More protection around an exceedingly dangerous hack. 2023-06-14 13:57:27 +01:00
languages_menu.cpp Cleanup some pgm_base.h includes 2021-06-08 21:56:00 -04:00
launch_ext.cpp Fix opening files with spaces on Linux 2021-11-07 14:31:14 +00:00
layer_id.cpp Move courtyard collision setting to preferences. 2022-10-19 11:33:11 +01:00
lib_id.cpp Support sub-libraries in symbol library browser 2023-01-22 19:25:15 -05:00
lib_table.keywords Add versioning to lib tables 2023-01-23 22:21:12 +00:00
lib_table_base.cpp Fix crash by using a shared_mutex to read/write lock the nickIndex 2023-02-18 13:02:25 -05:00
lib_table_grid_tricks.cpp LIB_TABLE_GRID_TRICKS, popup context menu: fix minor issues: 2023-04-12 11:20:11 +02:00
lib_tree_model.cpp Go back to winner-takes-all lib-tree scoring algorithm. 2023-04-30 12:32:19 +01:00
lib_tree_model_adapter.cpp Treat canvas item as current when tree view contains no selection. 2023-06-10 10:57:14 +01:00
locale_io.cpp Fix various typos 2022-07-21 16:31:41 +00:00
lset.cpp Treat internal copper layers as side-specific. 2022-10-25 12:08:57 +01:00
marker_base.cpp Remove a few EDA_RECT instances. 2022-08-31 01:22:49 +01:00
markup_parser.cpp Remove unused vars 2022-09-18 08:49:07 -04:00
netclass.cpp pcbnew: Change some of the default settings in board setup and netclasses 2023-01-29 23:20:40 +00:00
netlist.keywords
newstroke_font.cpp Add "Letter-like character" Omega for Unicode x2126 2022-10-01 16:39:00 -07:00
observable.cpp
origin_transforms.cpp
origin_viewitem.cpp More EDA_RECE yeetage. 2022-08-31 17:19:50 +01:00
page_info.cpp Move 5 helpers to EDA_UNIT_UTILS since they aren't iu specific 2022-08-29 20:11:03 -04:00
painter.cpp Only apply B&W printer fixes when printing. 2021-02-02 15:37:30 +00:00
paths.cpp Get 3d plugins working for running from build dir 2022-09-08 21:49:10 -04:00
pcb.keywords Overhaul of remove-unconnected's zone filling and drawing strategies. 2022-10-18 13:05:42 +01:00
pcb_plot_params.keywords Pcbnew: add plot on all layers feature. 2022-04-02 14:33:40 -04:00
pgm_base.cpp Upgrade file locking 2023-06-18 01:06:40 +02:00
printout.cpp
project.cpp wxS more things 2023-01-22 09:41:42 -05:00
ptree.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
rc_item.cpp Fix GitLab URLs to point to the correct project page 2023-05-17 13:42:48 +01:00
refdes_utils.cpp More wxS ugh 2023-01-17 07:43:04 -05:00
render_settings.cpp Move show-bounding-boxes to a tool on the toolbars. 2022-01-17 11:56:40 +00:00
reporter.cpp More wxS ugh 2023-01-17 07:43:04 -05:00
richio.cpp Add a sequential read flagged fopen helper 2023-05-29 13:36:06 -04:00
scintilla_tricks.cpp UI: Add Numpad Enter as "Return" equivalent in missing places 2023-06-05 08:58:50 -04:00
search_stack.cpp We don't keep a CHANGELOG.TXT 2021-10-05 19:46:53 -07:00
searchhelpfilefullpath.cpp Don't use SystemDirsAppend on windows for finding the docs 2023-01-29 20:50:16 -05:00
single_top.cpp Create a central exception handler we can also use to generate sentry events 2023-05-29 02:27:21 +00:00
status_popup.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
streamwrapper.cpp Start expunging NULL. 2021-07-15 15:44:45 -04:00
string_utf8_map.cpp Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
string_utils.cpp Markup fixes. 2023-04-17 17:52:11 +01:00
stroke_params.cpp Push UNITS_PROVIDER down into a low-level mixin. 2022-09-19 17:10:59 +01:00
stroke_params.keywords Shapes for schematic. 2021-12-23 20:36:07 +00:00
strtok_r.c
systemdirsappend.cpp Fix paths for Copy default global library table. 2023-01-27 09:24:52 +03:00
template_fieldnames.cpp Ignore empty field-name-templates. 2023-04-18 13:46:08 +01:00
template_fieldnames.keywords
textentry_tricks.cpp Add select-all to TEXT_ENTRY_TRICKS. 2023-05-04 11:52:02 +01:00
thread_pool.cpp Debugging aid. 2022-10-20 18:37:48 +01:00
title_block.cpp add CURRENT_DATE to text var autocomplete 2023-02-03 00:10:55 +00:00
trace_helpers.cpp More wxSing 2023-01-16 23:14:38 -05:00
transform.cpp Move DefaultTransform definition to transform.cpp, so it can be shared 2023-01-15 19:17:51 +01:00
undo_redo_container.cpp More tightening of group parent lifecycles. 2022-11-16 00:42:38 +00:00
utf8.cpp More wxSing 2023-01-16 23:14:38 -05:00
validators.cpp More wxSing 2023-01-16 23:14:38 -05:00
wildcards_and_files_ext.cpp More wxSing 2023-01-16 23:14:38 -05:00
wx_filename.cpp Implement output targeting of symlib/fplib upgrade per request 2022-12-06 21:20:27 -05:00
wx_stl_compat.cpp Blacklist hashes for 2d integer elements 2022-08-26 08:43:37 -07:00
wxdataviewctrl_helpers.cpp Formatting. 2022-10-16 18:39:37 +01:00
xnode.cpp