Skip to content

Conversation

@erkinalp
Copy link
Owner

@erkinalp erkinalp commented Apr 3, 2025

No description provided.

mhalil and others added 30 commits February 2, 2022 13:52
… we were only storing the numeric normal so the plane (and subsequent extrusion) wouldn't follow if the sketch was on the face of a revolve. Now we store the handle to the defining normal it predef.entityB so it can update properly on regeneration.
…normal

It is now possible to create a "New Group | Sketch in New Workplane" from
an existing workplane defined using a point and a nowmal. Before we used to
hit the `ssassert(false, "Unexpected workplane subtype");`.

This makes 4308dc1 more complete and
is related to solvespace#1120, solvespace#1048 and
solvespace#1054
* minor fix open/save dialogue on windows 

On windows 10 the open/save dialogue box has an minor error, and I believe I fixed it. 

When "Open" is selected from the menu, the title of the dialogue box says "SolveSpace - Save File" and the entered file name is "united". My fix correctly titles the dialoged box, and leaves the address bar blank when a file is being opened because "united" is only needed as a default name when a file being saved. 

I found that class FileDialogImplWin32 from guiwin.cpp contains two if statements for "isSaveDialog". This is redundant. I removed the first where the title was originally set, but not working. I then set the title in the second if statement and moved the 'if isEmpty'' to this section.

* Update guiwin.cpp

replaced tabs with spaces

* Created ZoomToMouse function in graphicswin.cpp which referances the mouse position directly. Simplified MouseScroll in mouse.cpp to point to this function instead of altering zoom directly. Also pointed zoom commpand from keyboard and menu to ZoomToMouse so that it works avoids different behavior.

* clean up some comments
)

Snapd stopped working in Docker containers in commit
canonical/snapd@c601169

Therefore, we cannot use the current build action,
which relies on Docker to implement cross-compilation.
Switching to the upstream build action avoids the problem at the cost
of losing the arm64 builds on amd64 hardware.
Those need to be reintroduced by some other mechanism,
e.g. via Launchpad, in the future.

Fixes solvespace#1229
Also remove erroneous redundant extlib/eigen mentions.
They needed %f to indicate how to pass the file we're claiming to handle.
Fixes solvespace#920 solvespace#1143

Explanation from @robnee on Feb 7, 2021 in pull request solvespace#927

Solvespace uses two timers (generateAllTimer and showTWTimer) to defer tasks
until the event loop processing finishes. This helps coalesce multiple calls
into one. You can call scheduleGenerateAll multiple times while processing UI
messages but only trigger one GenerateAll. scheduleGenerateAll and
scheduleShowTW do their scheuduling by setting timers with durations of zero.
These timers fire (at least on Linux and Windows) some time after all other
events in the message queue have been processed. This works fine when
scheduling either one of these tasks. However, there is no guarantee in what
order the timers will fire (at least on Windows) regardless of which order the
scheduling calls are made. It's pretty easy to demonstrate (on some platforms)
by adding logging to the scheduling calls and timer callbacks.

In many cases TextWindow::Show depends on generateAll happening first. This
causes UI glitches where displays don't update and their contents are stale.
Since this behavior is not deterministic it's easy to imagine how this problem
could make certain bug reports difficult to reproduce and diagnose. solvespace#920 is a
good example. It also makes syncing up UI behavior across all platforms a
challenge.

Solving this in the platform domain is tricky. This is PR endeavors to make the
ordering of deferred calls to TextWindow::Show and generateAll deterministic.
It does this by replacing generateAllTimer and showTWTimer with a single
refreshTimer. Calls to scheduleGenerateAll and scheduleShowTW set flags to note
the requested operations and schedule the refreshTimer. A new callback function
SolveSpaceUI::Refresh can then check the flags and ensure that generateAll
happens first. It fixes solvespace#920. Moreover, this PR makes it easy to observe and
reproduce this problem reliably and across all platforms by simply reordering
the calls in the Refresh callback.

It's pretty clear that the ordering is important so some solution is needed, if
for no other reason than the sanity of the devs. I think this is a pretty good
solution as it spells out the ordering. If nothing else this PR is helpful in
further investigations.

@ruevs @phkahler I'd like to hear your thoughts.
Since 7e08b02 comments can be attached to
points.

Now when such a comment is selected the point (entity) it is associated to
will be shown in the text window together with it's coordinates and the
distance (offset) from the point to the comment.

Most of this was already prepared by Whitequark here
solvespace@afa9e28
I just had to to remove the original 12 year old code by jwesthues that
showed "SELECTED: comment text" for comments.
(solvespace@6750995)

Fixes solvespace#1072
devin-ai-integration bot and others added 26 commits April 2, 2025 07:19
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
…lloc CMake version issue

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
…c CMake version issue

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
…c CMake version issue

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
…n flatpak recipe

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
… mimalloc CMake version issue"

This reverts commit bc487cb.
…tpak recipe

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
…nectivity issues

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
…event Git fallbacks

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
@erkinalp erkinalp added enhancement New feature or request help wanted Extra attention is needed labels Apr 3, 2025
… build failures

Co-Authored-By: Erkin Alp Güney <erkinalp9035@gmail.com>
@devin-ai-integration devin-ai-integration bot force-pushed the devin/1743572379-gtk4-migration branch from 76f0634 to 68c4681 Compare April 3, 2025 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request help wanted Extra attention is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.