PNS has its own data model with pointers to the BOARD members. If the
tool is active and pointers become stale, pcbnew crashes.
Currently there is a workaround that deactivates the current tool when a
dialog opens. This is the way it is done in the legacy canvas as well.
Fixes: lp:1553804
* https://bugs.launchpad.net/kicad/+bug/1553804
Define empty string variable KICAD_BRANCH_NAME that can be used as an
optional version string element. When git is used to build the version
string, this variable is set to the git branch name. It can also be
defined at configuration time as an optional string appended to the
$KICAD_VERSION variable.
Define empty string variable KICAD_VERSION_EXTRA that can be set by
the user at configuration.
The variables KICAD_BRANCH_NAME and KICAD_VERSION_EXTRA are only
appended to KICAD_VERSION if they are set. Otherwise, only KICAD_VERSION
is uses as the version string.
Update the developer building from source document to reflect the changes.
On Windows, previously, Pcbnew try to set env vars PYTHONPATH, if <kicad>/bin/python27_us folder is found.
Now, if python.exe is found in kicad bin folder (therefore if our python executable and libs are
installed in Kicad), PYTHONPATH and PYTHONHOME are set to an empty string.
( the default python path work fine with our standard python install )
When opening a board file and storing it again, the pads in all
embedded modules get reversed. This is generally not really nice
if the PCB is managed by version control as it creates churn and
could make merges hard.
When the version string in KiCadVersion.cmake is set to something other
than the default "no-vcs-found", it ignores the git version even if a
.git folder exists in the source folder.
Remove the KICAD_REPO_NAME option from the main cmake file and the
generated config.h file since it is no longer used.
Set the default branch name to "undefined" in CreateGitVersionHeader.cmake
instead of the KICAD_REPO_NAME option.
Remove generating KICAD_FULL_VERSION from CreateGitVersionHeader.cmake
and add it to WriteVersionHeader.cmake so that the default settings and
the new KiCadVersion.cmake definitions can be used to generate the full
version string as well.
Check to see if the branch name is set and only use the version to
generate the full version string. This allows the use of the KiCad
version cmake file to create a version only string like "4.0.4" with
no trailing branch name.
Change build_version.cpp to use the full version string rather than
concatenating the version and branch strings.
Add KiCadVersion.cmake to set the build version and branch name.
Update WriteVersionHeader.cmake to include KiCadVersion.cmake to set
the defaults in case no .git directory is found.
Before, only KICAD_BUILD_VERSION, which includes the hash but not the
branch, was compared when deciding whether to regenerate
kicad_build_version.h. This header also contains the branch name though,
so we should compare both to address the case of two branches pointing
at the same commit.
It is no longer necessary (or sensible) to include a simulated bzr
revision number, and we can reliably get a branch name now. Therefore,
the new version strings look like:
(2016-08-26 revision 67230ac)-master
| | |
| | branch name, "HEAD" if not on a branch,
| | or "unknown" if no .git present
| |
| abbreviated commit hash, or no-git if no .git
| present
|
date of commit, or date of build if no .git present
Signed-off-by: Chris Pavlina <pavlina.chris@gmail.com>
At one point, all of the footprints provided by the KiCad footprint
libraries were merged into a single pdf file. The link to open this
file was provided on the toolbar. Since the footprint libraries have
been split out into individual repositories, this file is no longer
created so the toolbar button and the underlying code to open this
file were removed.
Improve a few CvPcb menu strings.
Fixes lp:702785
https://bugs.launchpad.net/ubuntu/+source/kicad/+bug/702785
The unfortunate combination of using static_cast to promote board items
to module items then using the assignment operator without any thought as
to what would happen in MODULE::Add() caused the board objects to not be
added to the module. This is expected because board items cannot be in
modules. Did this ever work or did someone have a colossal brain cramp?
If it did work, who ever changed it did not test it because in debug
builds, you would have gotten and assertion on every object imported. On
release builds nothing is imported silently.
Add module object types to the DXF importer and code to choose which type
of object to import.
Remove offending static casts and assignment operator and pass the correct
object directly to the MODULE::Add() function when importing DXF in the
footprint editor.
The usual coding policy fixes.
On windows when the project path include a remote volume name (\\NAME),
the volume name does not get cleared by calling wxFileName.SetDir( "" ).
This caused the volume name to be prepended to the file name when
calling wxFileName::GetFullPath(). Use wxFileName::GetFullName()
which resolves the issue.
Fixes lp:1606240
https://bugs.launchpad.net/kicad/+bug/1606240
Performing a delete node hot key operation while Eeschema is busy performing
another operation causes an assertion in the delete node command event
handler in debug builds. It also causes the operation in progress to be
cleared if the assertion is ignored or in release builds.
Fix a similar issue when the leave current sheet hot key is called while
busing performing another operation which causes rather interesting behavior
in the sheet that was exited.
Fixes lp:1627434
https://bugs.launchpad.net/kicad/+bug/1627434
* When Pcbnew is launched in the stand alone mode with no board file command
line option, the project path is set to the current working directory. The
user may not have write access to the current working directory which would
cause the auto save to generate an error. If the user does not have write
access to the current working directory, set the path to a platform specific
temporary path that the user has write permission.
* When Pcbnew is launched in the stand alone mode with no board file command
line option, the default BOARD object has no file name. Set the file name
to "noname.kicad_pcb" to fix incorrect auto save file name and set the path
to the user's platform specific document folder.
* Delete orphaned auto save files when closing without saving due to broken
auto save file generation logic which prepended the file name with "$" rather
than "_autosave-".
* Fixes: lp:1596382
* Prevent DRC file from being created regardless the option selected in the check box.
* The browse file dialog now open the current project folder by default.
* When a context menu was open and a left mouse click event in the window title
bar occurred, the window would shift from the title bar click position to the
context menu select position. This only seemed to effect windows.