Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
646 commits
Select commit Hold shift + click to select a range
14455d6
Turkish translation tr_TR.po updated (#1203)
mhalil Feb 2, 2022
8fadbd5
Fix normal issue, when a workplane is created from a point and normal…
phkahler Jan 30, 2022
d41801b
A workplane can now be defined from a workplane defined by point and …
ruevs Feb 1, 2022
b8f22c6
CI: Create tarballs with submodules included for releases
ppd Feb 4, 2022
32674a3
MacOS: Update the year to 2022 in the About dialog.
ruevs Feb 6, 2022
78d2446
UI: Display the circumference of a circle in the property browser
ruevs Feb 9, 2022
b2130a7
Move shell functions out of surface.cpp and into shell.cpp (#1220)
phkahler Feb 14, 2022
41ed0c9
Revert "mac: Don't interpret single-touch scroll events as pan gestures"
vespakoen Feb 12, 2022
eaabad1
Fix for zoom in/out error (#1221)
dustinhartlyn Feb 28, 2022
714b6c0
Update README.md
phkahler Mar 30, 2022
50c4e46
Update README.md
phkahler Mar 31, 2022
97aba82
Update README.md
phkahler Apr 1, 2022
b3c030d
CI: Use upstream action to build snap & drop arm64 snap (#1232)
ppd Apr 13, 2022
391a86c
German translation completed
carelinus Apr 30, 2022
762ece5
Update mimalloc version to 2.0.6
phkahler May 7, 2022
a6e5da4
Update CMakeLists.txt
phkahler May 12, 2022
4327626
Update CMakeLists.txt
phkahler May 12, 2022
ceb3b56
Update CHANGELOG.md
phkahler May 12, 2022
951aa71
Eigen includes are needed in more places.
rpavlik May 13, 2022
8dee3e7
Fix Exec line of desktop files.
rpavlik May 13, 2022
c9d34f2
Update CHANGELOG.md
phkahler Jun 2, 2022
a3bf48b
Add faces perpendicular and parallel constraints.
phkahler Jun 12, 2022
748784b
Add some face and point types to describe screen
phkahler Jun 12, 2022
7dd5d70
Make scheduled/deferred task order deterministic
robnee Feb 7, 2021
bb803b8
Show details for comments associated with points
ruevs Jun 12, 2022
93a2ba9
Add ja-JP translation.
verylowfreq Jun 22, 2022
422c671
czech translations
strzinek Jun 24, 2022
3721ea8
Win32: Allow 32 bit SolveSpace to access up to 4GB of RAM.
ruevs Jun 26, 2022
f317ffc
Stamp source tarballs with the commit hash
rpavlik Jun 30, 2022
78c6739
Fix whitespace and trailing newline in github actions files.
rpavlik Jun 24, 2021
621009c
flatpak: Update manifest.
rpavlik Apr 22, 2021
f227af1
flatpak: Update runtime to 21.08
tinywrkb Jun 30, 2022
2221047
flatpak: Add f-e-d-c properties to depends, retain comments, and cosm…
tinywrkb Jun 29, 2022
62b8ebc
flatpak: Update modules to latest versions
tinywrkb Jun 29, 2022
1fed7a2
flatpak: Add eigen module
tinywrkb Jun 29, 2022
37c769c
flatpak: Use meson buildsystem where possible
tinywrkb Jun 29, 2022
05147ee
flatpak: gtkmm: Avoid building demos and tests
tinywrkb Jun 29, 2022
78814b6
flatpak: libjson-c: Enable threading and disable static libs
tinywrkb Jun 29, 2022
3c3ea00
flatpak: finish-args: Drop unsupported JSON comment and cosmetics
tinywrkb Jun 29, 2022
b20d3b5
flatpak: Cosmetics
tinywrkb Jun 29, 2022
6cccbdc
flatpak: Cleanup: Update and move module specific value to module cle…
tinywrkb Jun 29, 2022
524bd5e
flatpak: Keep CLI enabled
tinywrkb Jun 30, 2022
316f71d
Add a github action to build flatpaks
rpavlik Apr 22, 2021
591808f
Update AppStream metadata.
rpavlik Jun 30, 2022
da81691
Update README to point to flathub now too.
rpavlik Jul 5, 2022
67ac2d6
Win32, MSVC: Enable Multi-processor Compilation (/MP) with Visual Studio
ruevs Jul 8, 2022
38deb1a
snap: Port to core22
ppd Jul 11, 2022
fa6379c
mac: Distinguish trackpad from Magic Mouse scroll (#1274)
nanoant Aug 17, 2022
58690e6
Add a very experimental Emscripten port.
whitequark Jul 18, 2018
358b5a8
Web: Emscripten port updated to current tools. Add saving of options …
verylowfreq Aug 5, 2022
74462d0
README: Move the check out instructions to one place. (#1285)
ruevs Sep 3, 2022
bfa193c
Fix French translations of "Step"
progval Oct 10, 2022
6bf291b
Fix typos
progval Oct 10, 2022
b97837c
Fix inconsistent French translation of "Rotate Imported"
progval Oct 10, 2022
1d9dd23
CMake: Add FindCairo.cmake to fix build on FreeBSD
lbartoletti Sep 21, 2022
6f9c63f
Allow all linkable files as missing files to fix #1297
interfect Oct 18, 2022
de7e94a
fr_FR: Change list item prefix
progval Oct 15, 2022
896c8d0
fr_FR: Fix spacing before punctuation marks
progval Oct 15, 2022
06e8fab
fr_FR: Complete menu translation and fix inconsistencies
progval Oct 15, 2022
660064a
fr_FR: Add missing translations, and review existing ones.
progval Oct 15, 2022
7d4961f
fr_FR: Replace straight quotes with angular quotes
progval Oct 15, 2022
d5d368b
Fix "Constraintes" type in French locale
Nov 1, 2022
6dc2dd1
[Graphics][Bugfix] "Nearest Isometric" respects turntable navigation
Lunderberg Nov 3, 2022
dfecf4a
Remove superfluous #include <iostream> introduced in 4fc0141
ruevs Nov 5, 2022
713b003
Web: Add opening/saving file support.
verylowfreq Aug 7, 2022
0955f78
Web: Initial support for touch devices.
verylowfreq Aug 7, 2022
cc4101c
Web: Some fix for critical runtime error and cleanups.
verylowfreq Aug 8, 2022
6dad39f
Web: Improve touch support and layout.
verylowfreq Aug 8, 2022
996c3db
Web: Improve file dialog.
verylowfreq Aug 13, 2022
c3ed372
ru_RU: Enhance russian translation
ruevs Nov 5, 2022
9ccd3d9
Platform: Fix GUI scaling on devices with non-integer pixel ratio
ruevs Nov 5, 2022
b9d76a3
Web: Remove the device pixel ratio workaround for Android tablets.
ruevs Nov 6, 2022
eb3c0e0
Web: Adjust the scroll wheel sensitivity for zooming.
ruevs Nov 6, 2022
307b685
Sync multiconstraint with current state
77maxikov Dec 30, 2022
53ceb89
fix several crashes on constraint creeation
phkahler Jan 2, 2023
2963d95
Fix H/V constraints on points and allow more than 2 points
phkahler Jan 2, 2023
b5a4501
change/fix some undo behavior in variadic constraints
phkahler Jan 2, 2023
50226ac
Add ability to select 3 faces
phkahler Jun 19, 2022
6f3ec8e
Draw up to three selected faces
ruevs Jul 8, 2022
470f157
Clean up face selection code
ruevs Jul 9, 2022
61bcb31
Use a lambda to list selected faces when multiple faces are selected.
ruevs Dec 5, 2022
f078091
Allow point-on-face for up to 3 faces at once
phkahler Jan 2, 2023
040a037
allow equal angle constraints when 3 or 4 lines selected. Variadic co…
phkahler Jan 7, 2023
2f720bc
Fix snap release (#1323)
vespakoen Jan 7, 2023
b5e10e4
Try to use SNAPCRAFT_STORE_LEGACY_CREDENTIALS for now
vespakoen Jan 8, 2023
0e7dbf2
Use N for equal angle constraints. Allows 3 or 4 line segments to be …
phkahler Jan 10, 2023
074d348
UI: Adjust the hints for creating constraints
ruevs Jan 11, 2023
2b43fae
Update CHANGELOG.md
phkahler Jan 11, 2023
3507c9a
Update CHANGELOG.md
phkahler Jan 11, 2023
ec57d79
UI: Adjust the hints for creating constraints
ruevs Jan 11, 2023
e286d41
UI: Adjust the menu items "Angle" and "Equal..." to match current state.
ruevs Jan 11, 2023
1cc1f11
UI: Add constraining multiple points coincident
77maxikov Jan 2, 2023
375a493
Update CHANGELOG.md
ruevs Jan 11, 2023
a30ed49
Don't try to drag points with pt-coincident constraint to a previous …
phkahler Jan 16, 2023
de174f6
dimonly fix
77maxikov Apr 29, 2020
24bbf7e
Dimension constraints only display mode improvements
ruevs Jan 16, 2023
fc09fda
UI: Make the new "dimensions only mode" icons consistent with the rest.
ruevs Jan 16, 2023
f19ba9a
Chinese translation updated.
lomatus Jan 10, 2023
34d2d0f
Translations: change contact informatuion in "Report-Msgid-Bugs-To:"
ruevs Jan 18, 2023
239c8e2
Tanslations: update main translation file
ruevs Jan 18, 2023
6d4ebb7
Treat a linked group as mesh-only if it has a Mesh but no Shell.
phkahler Jan 29, 2023
4b1ef72
Revert legacy snapstore key
vespakoen Jan 31, 2023
3520c60
eliminate possible use before set warnings
phkahler Feb 1, 2023
4035d78
stop using deprecated gtk_show_uri on Linux
phkahler Feb 1, 2023
17f355e
quiet some compiler warnings
phkahler Feb 1, 2023
e206d25
Add config option for "camera" rotation navigation
robnee Mar 7, 2021
a57f45b
Fix MessageBox Avalanches due to Message blocking
MrBlockers Jan 21, 2023
bfdd526
Fix a crash when constraining a line segment symmetric
ruevs Feb 28, 2023
85f6534
Update the year to 2023 in the About dialog and Windows version resou…
ruevs Mar 17, 2023
4ffe97f
Translations: update German and Russian
ruevs Jan 18, 2023
d81805b
Translations: update English
ruevs Jan 18, 2023
cbfb4b5
Translations: update all other languages
ruevs Jan 18, 2023
8c2389b
UI: Fix typo in the "Angle" constraint hint.
ruevs Jan 20, 2023
c5122e6
Translations: update Turkish
ruevs Jan 23, 2023
e8a75ec
Translations: update Japanese
ruevs Jan 31, 2023
89ef256
Translations: update Spanish
ruevs Mar 17, 2023
3395a48
Update Russian translation (#1355)
prokoudine Apr 4, 2023
94385bb
Chinese transalation updated (#1365)
liuxilu May 4, 2023
76ed76d
rename the enums for surface classification in the SShell class.
phkahler May 15, 2023
9e115ac
small simplifications
phkahler May 15, 2023
f85a627
UI: Add Ctrl+Shift+S keyboard shortuct for Save As
alufers Jun 30, 2023
737750d
skip duplicate drilled holes
matscalia Jun 13, 2023
f67c0f1
UI: Remove shortcut key collisions in the Sketch menu
ruevs Jul 14, 2023
f78c135
Delete the partially drawn entity when ESC is pressed on pending oper…
phkahler Jul 26, 2023
618074e
Update CHANGELOG.md
phkahler Jul 27, 2023
3e24cb7
Fix CI for Ubuntu and MacOS (#1388)
Draconis-25 Aug 8, 2023
8a840af
Update test.yml with ubuntu-latest and macos-latest
Draconis-25 Aug 9, 2023
977d375
Update the issue template to show where to look for SolveSpace versio…
TomasHubelbauer Aug 12, 2023
55fb6af
Ask before overwriting existing file
vthriller Aug 26, 2023
d6f83a1
Debug issue with notarization
vespakoen Sep 12, 2023
8ef54c1
Fix language bug
ktrace Sep 18, 2023
7c1311f
Improve boolean difference operations...
phkahler Sep 22, 2023
cfb7b05
Speed up view change animations
phkahler Sep 28, 2023
2939972
Win32: Fix for compiling with MinGW.org GCC-6.3.0-1
ruevs Sep 29, 2023
f5bfa71
UI: Make marquee selection of line segments precise
ruevs Sep 24, 2023
d4b5c7f
GTK: Eliminate direct references to gdk event struct members in prep …
phkahler Oct 13, 2023
2594868
Do not include construction images in extrude/lathe/revolve/helix
ruevs Nov 15, 2023
eb7bec1
Images are construction by default
ruevs Nov 20, 2023
7498e3b
Fix opening of assembly groups with relative (empty) paths.
ruevs Nov 15, 2023
e9c5752
Fix invalid parts linkage in assemblies when the folder has only one …
ruevs Nov 15, 2023
2b7f057
Adjust the test suite to match the new behaviour of Path::Join.
ruevs Nov 15, 2023
6fa8526
CTRL-TAB un/hides the toolbar
phkahler Nov 22, 2023
2c63a23
Update CHANGELOG.md
ruevs Nov 23, 2023
d0a1ec8
CI, macOS: Update dead links to libomp in dependency installer
dgramop Dec 5, 2023
88dffeb
Add allocate function as emscripten dep
dgramop Dec 8, 2023
2551a03
Codespell fix
rpavlik May 13, 2022
a0d20ad
Dimesions on arcs defaut to radius instead of diameter
phkahler Nov 25, 2023
b63efef
Make arc default dimenision (radius vs diameter) a configuration option.
phkahler Dec 21, 2023
c9457fc
Bypass desktop portal in Snap
interfect Oct 5, 2022
a4b8603
fixed pt-line distance constraint bug on paste transformed
Not4sure Jan 3, 2024
7c22e1c
Updated uk-UA locale; fixed typos; added translations
Not4sure Jan 2, 2024
8485d8b
Update the year to 2024 in the About dialog and Windows version resou…
ruevs Apr 17, 2024
1aeb278
Try to use notarytool
vespakoen Sep 12, 2023
3f25ea4
Try to build macOS with new app-specific-password secret
vespakoen Apr 21, 2024
7969ffd
Maybe fix macOS notarization
vespakoen Apr 21, 2024
b64637e
Temporarily disable snap
vespakoen Apr 21, 2024
472fa8c
add "tool" to make sentece sensical
daef May 25, 2024
e772b62
Add preference to toggle file path in title bar
johnathaningle Mar 10, 2024
2967809
Change "show full file path in the window title" to "display the full…
ruevs Jun 11, 2024
50d9781
Implement basic kerning when rendering text.
kdickerson May 30, 2024
936d8d2
CI: Update actions to avoid warnings and Flatpak build error.
ruevs Jun 26, 2024
a4402c8
Handle smooth scrolling
sowelipililimute Jun 3, 2024
37dad1a
GTK: Handle smooth scrolling according to the documentation
ruevs Jul 7, 2024
d895ada
Update the Unicode vector font unicode.lff
ruevs Aug 21, 2024
4060577
Add � to the U+FFFD (REPLACEMENT CHARACTER) in unicode.lff
ruevs Aug 22, 2024
ec60b0b
CI: try "styfle/cancel-workflow-action@0.12.1" to fix cd.yml
ruevs Aug 22, 2024
161afba
NFC: Remove ToDo comment that appears to be done
ruevs Aug 23, 2024
013acb5
Win32: Fix warning...
ruevs Sep 10, 2024
dd2f1e2
Fix saving assemblies when opened with a relative path on the command…
ruevs Sep 19, 2024
6f68755
Use `const auto &` in a few for loops that were not doing it.
ruevs Sep 14, 2024
e9c9700
Use `const Vector &` in a predicate
ruevs Sep 20, 2024
f7053eb
Fix saving assemblies when opened with a relative path on the command
ruevs Sep 20, 2024
164eb9d
GTK: Fix wrong direction of zoom when "smooth scrolling" with mouse w…
ruevs Oct 7, 2024
c8d3822
Update CHANGELOG.md
ruevs Oct 26, 2024
81b68c6
Win32: the Property Browser remains visible when going full screen (C…
ruevs Nov 1, 2024
d5b68a1
Make pasting mirrored tangent entities independent of end point knowl…
ruevs Nov 6, 2024
30d2826
Allow tangent on arcs/lines/splines without coincident endpoints.
ruevs Nov 6, 2024
9fd0324
GUI: Allow ESC to finish drawing bezier curves instead of deleting them.
ruevs Nov 21, 2024
64b274b
Add skewed subtype for extrusion groups. Update the textwindow radio …
phkahler Nov 19, 2024
bc2800d
Make the "skewed" option for extrusions a check box
ruevs Nov 22, 2024
1177cea
Update CHANGELOG.md
phkahler Dec 3, 2024
c22dad0
Make the animation speed configurable (#1500)
davidgiven Dec 8, 2024
b91bc0c
"Stateful" C library + Python bindings (using cython) and JS bindings…
vespakoen Dec 9, 2024
55d17ee
Hotfix for publishing wasmlib
vespakoen Dec 9, 2024
cce8003
Extlib fixups and macOS framework finding fix (#1502)
vespakoen Dec 10, 2024
a4c300d
Web: Fix compilation with current Emscripten
ruevs Jan 13, 2025
c36f6a6
Update the year to 2025 in the About dialog and Windows version resou…
ruevs Jan 13, 2025
b0f88b4
Fix crash when linking .STL and .EMN files with extensions in capital…
ccppi3 Jan 24, 2025
25fd42f
Update the Spanish translation es_AR
andesfreedesign Jul 24, 2023
114b5ad
Tanslations: update main translation file and English
ruevs Jan 26, 2025
1f85461
Translations: update Spanish
ruevs Jan 26, 2025
8947e1f
Translations: update German and Russian
ruevs Jan 26, 2025
0fc443f
Translations: update all other languages
ruevs Jan 26, 2025
c7b39a6
translated new messages to Ukrainian
Not4sure Jan 27, 2025
db58e58
Add a forgotten `break` statement. Should be and NFC.
ruevs Jan 27, 2025
fa73ad1
Translations: update French translation. (#1516)
progval Jan 28, 2025
8a82411
Update cs_CZ.po
strzinek Jan 28, 2025
b80561d
CI: update Python CI targets for macos-x86_64 and macos-arm64
vespakoen Jan 28, 2025
b7f719f
Translation updates (Turkish TR) (#1522)
mhalil Jan 30, 2025
397a9d7
Update ja_JP translation.
verylowfreq Feb 1, 2025
890fcf8
mac: don't crash on file ops without changing dir
kivikakk Feb 4, 2025
cdd044e
CI: Fix Python CI
ruevs Feb 5, 2025
b170356
CI: Fix WASM library CI
ruevs Feb 5, 2025
94d902d
Add showing 'only unconstrained' groups
nobodyinperson Feb 4, 2025
089e99e
python: fix issues with type annotations in the Cython bindings (#1530)
iscgar Feb 22, 2025
93dd850
ci: update the `pypa/cibuildwheel` action to v2.22.0 (#1533)
iscgar Feb 22, 2025
63cd866
Updated the Russian translation (#1528)
milan-djurovic12 Feb 23, 2025
efdf04c
Fix PyPi publishing (#1534)
vespakoen Feb 23, 2025
14a5dd2
build: fix CMake system include directives
Mar 4, 2025
efe0e65
dsc.h: Eliminate circular include of solvespace.h.
WickedSmoke Feb 29, 2024
be0176e
clipboard.cpp: Fix GCC -Wimplicit-fallthrough= warning.
WickedSmoke Dec 13, 2024
4945efb
solvespace.h: Quiet std::iterator is deprecated warnings with C++17.
WickedSmoke Dec 15, 2024
7f8324d
Revert "clipboard.cpp: Fix GCC -Wimplicit-fallthrough= warning."
ruevs Mar 6, 2025
d0c5990
slvs: return a distinct value for `SolveResult::REDUNDANT_OKAY` (#1542)
iscgar Mar 7, 2025
b90fa2a
freetype: update the vendored version to 2.13.3
Mar 6, 2025
eeb731d
render: remove a call to `AllocTemporary()` from the OpenGL 1 renderer
Mar 4, 2025
bd3a01d
FreeType: disable "PNG compressed OpenType embedded bitmaps."
ruevs Mar 14, 2025
bd5db47
- Create guigtk4.cpp based on guigtk.cpp with GTK4 API updates
devin-ai-integration[bot] Apr 2, 2025
0ceb1e3
Update Dockerfile with additional dependencies for GTK4 build
devin-ai-integration[bot] Apr 2, 2025
413cafc
Update GTK4 X11 header path and add libgdk-x11-4.0-dev dependency
devin-ai-integration[bot] Apr 2, 2025
079738e
Update Dockerfile with correct GTK4 X11 development package
devin-ai-integration[bot] Apr 2, 2025
102047c
Fix GTK4 signal handler lambda return types and add C++14 requirement
devin-ai-integration[bot] Apr 2, 2025
b9f08a1
Fix GTK4 signal handler return types and remove false parameters
devin-ai-integration[bot] Apr 2, 2025
59844f2
Add GTK4 support via guigtk4.cpp
devin-ai-integration[bot] Apr 2, 2025
e043aa0
Update CONTRIBUTING.md to mention C++17 requirement for GTK4 builds
devin-ai-integration[bot] Apr 2, 2025
ed7e653
Update README.md to include GTK4 build requirements
devin-ai-integration[bot] Apr 2, 2025
83ac38f
Update OpenBSD section in README.md to include GTK4 build requirements
devin-ai-integration[bot] Apr 2, 2025
1d053ba
Add CMAKE_POLICY_VERSION_MINIMUM=3.5 to fix mimalloc CMake version issue
devin-ai-integration[bot] Apr 2, 2025
afde7c1
Add CMAKE_POLICY_VERSION_MINIMUM=3.5 to all build scripts to fix mima…
devin-ai-integration[bot] Apr 2, 2025
46606b1
Add CMAKE_POLICY_VERSION_MINIMUM=3.5 to snapcraft.yaml to fix mimallo…
devin-ai-integration[bot] Apr 2, 2025
bfd8f45
Add CMAKE_POLICY_VERSION_MINIMUM=3.5 to flatpak recipe to fix mimallo…
devin-ai-integration[bot] Apr 2, 2025
3935bec
Add CMAKE_POLICY_VERSION_MINIMUM=3.5 to eigen and libjson-c modules i…
devin-ai-integration[bot] Apr 2, 2025
5ffa25c
Revert "Add CMAKE_POLICY_VERSION_MINIMUM=3.5 to eigen and libjson-c m…
devin-ai-integration[bot] Apr 2, 2025
edaa452
Revert "Add CMAKE_POLICY_VERSION_MINIMUM=3.5 to flatpak recipe to fix…
devin-ai-integration[bot] Apr 2, 2025
f27f160
Add CMAKE_POLICY_VERSION_MINIMUM=3.5 only to solvespace module in fla…
devin-ai-integration[bot] Apr 2, 2025
659d666
Add USE_GTK4=ON to solvespace module in flatpak recipe
devin-ai-integration[bot] Apr 2, 2025
f6541e9
Update GTK dependencies in flatpak recipe to GTK4-compatible versions
devin-ai-integration[bot] Apr 2, 2025
e004278
Update copyright line in guigtk4.cpp
devin-ai-integration[bot] Apr 2, 2025
5dce6e6
pkg/flatpak: Update libsigc++-3.0.0.tar.xz checksum
devin-ai-integration[bot] Apr 2, 2025
a6b1fd3
pkg/flatpak: Update dependency checksums to match current source files
devin-ai-integration[bot] Apr 2, 2025
fd3ba21
pkg/flatpak: Update cairomm URL and checksum to fix 404 error
devin-ai-integration[bot] Apr 2, 2025
a11c0b5
pkg/flatpak: Update sigc++ build system from meson to cmake-ninja
devin-ai-integration[bot] Apr 2, 2025
c1e0fda
Fix GTK4 migration issues in guigtk4.cpp
devin-ai-integration[bot] Apr 3, 2025
4cb3dee
pkg/flatpak: Prevent Git fallbacks in meson builds to fix network con…
devin-ai-integration[bot] Apr 3, 2025
b60bcbf
pkg/flatpak: Add nofallback configuration to eigen and libjson-c modules
devin-ai-integration[bot] Apr 3, 2025
59e526c
pkg/flatpak: Add nofallback configuration to solvespace module
devin-ai-integration[bot] Apr 3, 2025
b89d9df
pkg/flatpak: Switch glibmm to cmake-ninja build system
devin-ai-integration[bot] Apr 3, 2025
8c2c6d1
pkg/flatpak: Switch all GTK modules to cmake-ninja build system to pr…
devin-ai-integration[bot] Apr 3, 2025
1dbbb98
Fix GTK4 menu indicator issues in guigtk4.cpp
devin-ai-integration[bot] Apr 3, 2025
68c4681
pkg/flatpak: Switch back to meson build system for GTK modules to fix…
devin-ai-integration[bot] Apr 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 6 additions & 7 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
### System information

SolveSpace version: (e.g. 3.0~3dd2fc00; go to Help → About...)

Operating system: (e.g. Debian testing)
- **SolveSpace version:** <!--e.g. 3.1~70bde63c; go to Help → About… / SolveSpace → About SolveSpace (macOS)-->
- **Operating system:** <!--e.g. Debian testing-->

### Expected behavior

What should have happened?
<!--What should have happened?-->

### Actual behavior

What actually happened?
<!--What actually happened?-->

### Additional information

For bugs, please attach a savefile that shows the problematic behavior.
You can attach `.slvs` files by archiving them into a `.zip` first.
<!--For bugs, please attach a savefile that shows the problematic behavior.
You can attach `.slvs` files by archiving them into a `.zip` first.-->
53 changes: 53 additions & 0 deletions .github/scripts/build-macos.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/bin/sh -xe

ENABLE_SANITIZERS="OFF"
if [ "$1" = "release" ]; then
BUILD_TYPE="RelWithDebInfo"
ENABLE_LTO="ON"
else
BUILD_TYPE="Debug"
ENABLE_LTO="OFF"
fi

# this is an option for our Github CI only, since it doesn't have a macos arm64 image yet
CMAKE_GENERATOR="Unix Makefiles"
CMAKE_PREFIX_PATH=""
if [ "$2" = "arm64" ]; then
OSX_ARCHITECTURE="arm64"
CMAKE_PREFIX_PATH=$(find /tmp/libomp-arm64/libomp -depth 1)
git apply cmake/libpng-macos-arm64.patch || echo "Could not apply patch, probably already patched..."
mkdir build-arm64 || true
cd build-arm64
elif [ "$2" = "x86_64" ]; then
OSX_ARCHITECTURE="x86_64"
CMAKE_PREFIX_PATH=$(find /tmp/libomp-x86_64/libomp -depth 1)
mkdir build || true
cd build
else
mkdir build || true
cd build
fi

if [ "$3" = "xcode" ]; then
CMAKE_GENERATOR="Xcode"
fi

cmake \
-G "${CMAKE_GENERATOR}" \
-D CMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \
-D CMAKE_OSX_ARCHITECTURES="${OSX_ARCHITECTURE}" \
-D CMAKE_BUILD_TYPE="${BUILD_TYPE}" \
-D ENABLE_OPENMP="ON" \
-D ENABLE_SANITIZERS="${ENABLE_SANITIZERS}" \
-D ENABLE_LTO="${ENABLE_LTO}" \
-D CMAKE_POLICY_VERSION_MINIMUM=3.5 \
..

if [ "$3" = "xcode" ]; then
open solvespace.xcodeproj
else
cmake --build . --config "${BUILD_TYPE}" -j$(sysctl -n hw.logicalcpu)
if [ $(uname -m) = "$2" ]; then
make -j$(sysctl -n hw.logicalcpu) test_solvespace
fi
fi
3 changes: 3 additions & 0 deletions .github/scripts/build-snap.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh -xe

./pkg/snap/build.sh --use-lxd
12 changes: 12 additions & 0 deletions .github/scripts/build-ubuntu.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/sh -xe

mkdir build
cd build
cmake \
-DCMAKE_BUILD_TYPE="Debug" \
-DENABLE_OPENMP="ON" \
-DENABLE_SANITIZERS="ON" \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
..
make -j$(nproc) VERBOSE=1
make test_solvespace
22 changes: 22 additions & 0 deletions .github/scripts/build-wasmlib.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/usr/bin/env bash

cd ..
git clone https://github.com/emscripten-core/emsdk.git --depth 1
cd emsdk
./emsdk install latest
./emsdk activate latest
cd ../solvespace
source ../emsdk/emsdk_env.sh
mkdir build-wasmlib || true
cd build-wasmlib
emcmake cmake .. \
-DCMAKE_RELEASE_TYPE=Debug \
-DENABLE_GUI="OFF" \
-DENABLE_CLI="OFF" \
-DENABLE_TESTS="OFF" \
-DENABLE_COVERAGE="OFF" \
-DENABLE_OPENMP="OFF" \
-DFORCE_VENDORED_Eigen3="ON" \
-DENABLE_LTO="ON" \
-DENABLE_EMSCRIPTEN_LIB="ON"
cmake --build . -j$(nproc)
38 changes: 38 additions & 0 deletions .github/scripts/build-windows.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/bin/sh -xe

mkdir build
cd build

if [ "$1" = "release" ]; then
if [ "$2" = "openmp" ]; then
ENABLE_OPENMP="ON"
else
ENABLE_OPENMP="OFF"
fi
BUILD_TYPE=RelWithDebInfo
cmake \
-G "Visual Studio 16 2019" \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
-DENABLE_OPENMP="${ENABLE_OPENMP}" \
-DENABLE_LTO=ON \
-DCMAKE_GENERATOR_PLATFORM="Win32" \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
..
else
BUILD_TYPE=Debug
cmake \
-G "Visual Studio 16 2019" \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
-DENABLE_OPENMP="ON" \
-DCMAKE_GENERATOR_PLATFORM="Win32" \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
..
fi

cmake --build . --config "${BUILD_TYPE}" -- -maxcpucount

bin/$BUILD_TYPE/solvespace-testsuite.exe

if [ "$2" = "openmp" ]; then
mv bin/$BUILD_TYPE/solvespace.exe bin/$BUILD_TYPE/solvespace-openmp.exe
fi
16 changes: 16 additions & 0 deletions .github/scripts/install-macos.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/sh -xe

if [ "$1" = "ci" ]; then
armloc=$(brew fetch --bottle-tag=arm64_ventura libomp | grep -i downloaded | grep tar.gz | cut -f2 -d:)
x64loc=$(brew fetch --bottle-tag=ventura libomp | grep -i downloaded | grep tar.gz | cut -f2 -d:)
cp $armloc /tmp/libomp-arm64.tar.gz
mkdir /tmp/libomp-arm64 || true
tar -xzvf /tmp/libomp-arm64.tar.gz -C /tmp/libomp-arm64
cp $x64loc /tmp/libomp-x86_64.tar.gz
mkdir /tmp/libomp-x86_64 || true
tar -xzvf /tmp/libomp-x86_64.tar.gz -C /tmp/libomp-x86_64
else
brew install libomp
fi

git submodule update --init extlib/cairo extlib/freetype extlib/libdxfrw extlib/libpng extlib/mimalloc extlib/pixman extlib/zlib extlib/eigen
6 changes: 6 additions & 0 deletions .github/scripts/install-snap.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/sh -xe

sudo /snap/bin/lxd waitready
sudo /snap/bin/lxd init --auto
sudo chgrp travis /var/snap/lxd/common/lxd/unix.socket
mkdir -p "$TRAVIS_BUILD_DIR/snaps-cache"
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ sudo apt-get update -qq
sudo apt-get install -q -y \
zlib1g-dev libpng-dev libcairo2-dev libfreetype6-dev libjson-c-dev \
libfontconfig1-dev libgtkmm-3.0-dev libpangomm-1.4-dev libgl-dev \
libgl-dev libglu-dev libspnav-dev
libgl-dev libglu-dev libspnav-dev

git submodule update --init extlib/libdxfrw extlib/flatbuffers extlib/q3d
git submodule update --init extlib/libdxfrw extlib/mimalloc extlib/eigen
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
#!/bin/sh -xe

brew update
brew install freetype cairo
git submodule update --init
86 changes: 86 additions & 0 deletions .github/scripts/sign-macos.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
#!/bin/bash -xe

lipo \
-create \
build/bin/SolveSpace.app/Contents/Resources/libomp.dylib \
build-arm64/bin/SolveSpace.app/Contents/Resources/libomp.dylib \
-output \
build/bin/SolveSpace.app/Contents/Resources/libomp.dylib

lipo \
-create \
build/bin/SolveSpace.app/Contents/MacOS/SolveSpace \
build-arm64/bin/SolveSpace.app/Contents/MacOS/SolveSpace \
-output \
build/bin/SolveSpace.app/Contents/MacOS/SolveSpace

lipo \
-create \
build/bin/SolveSpace.app/Contents/MacOS/solvespace-cli \
build-arm64/bin/SolveSpace.app/Contents/MacOS/solvespace-cli \
-output \
build/bin/SolveSpace.app/Contents/MacOS/solvespace-cli

cd build

openmp="bin/SolveSpace.app/Contents/Resources/libomp.dylib"
app="bin/SolveSpace.app"
dmg="bin/SolveSpace.dmg"
bundle_id="com.solvespace.solvespace"

if [ "$CI" = "true" ]; then
# get the signing certificate (this is the Developer ID:Application: Your Name, exported to a p12 file, then converted to base64, e.g.: cat ~/Desktop/certificate.p12 | base64 | pbcopy)
echo $MACOS_CERTIFICATE_P12 | base64 --decode > certificate.p12

# create a keychain
security create-keychain -p secret build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p secret build.keychain

# import the key
security import certificate.p12 -k build.keychain -P "${MACOS_CERTIFICATE_PASSWORD}" -T /usr/bin/codesign

security set-key-partition-list -S apple-tool:,apple: -s -k secret build.keychain

# check if all is good
security find-identity -v
fi

# sign openmp
codesign -s "${MACOS_DEVELOPER_ID}" --timestamp --options runtime -f --deep "${openmp}"

# sign the .app
codesign -s "${MACOS_DEVELOPER_ID}" --timestamp --options runtime -f --deep "${app}"

# create the .dmg from the signed .app
hdiutil create -srcfolder "${app}" "${dmg}"

# sign the .dmg
codesign -s "${MACOS_DEVELOPER_ID}" --timestamp --options runtime -f --deep "${dmg}"

if ! command -v xcrun >/dev/null || ! xcrun --find notarytool >/dev/null; then
echo "Notarytool is not present in the system. Notarization has failed."
exit 1
fi

# Submit the package for notarization
notarization_output=$(
xcrun notarytool submit "${dmg}" \
--apple-id "hello@koenschmeets.nl" \
--password "${MACOS_APPSTORE_APP_PASSWORD}" \
--team-id "8X77K9NDG3" \
--wait 2>&1)

if [ $? -eq 0 ]; then
# Extract the operation ID from the output
operation_id=$(echo "$notarization_output" | awk '/RequestUUID/ {print $NF}')
echo "Notarization submitted. Operation ID: $operation_id"
exit 0
else
echo "Notarization failed. Error: $notarization_output"
exit 1
fi
fi

# staple
xcrun stapler staple "${dmg}"
Loading