On Linux, GLEW requires (at least, in EGL land) that an OpenGL context be
active before glew_Init is called -- otherwise, GLEW doesn't know what
extension symbols to look up. If glew_Init fails, then some symbols
elsewhere will not exist, and the app will shortly crash. We work around
this by detecting if we're actually ready for postinit, and if not,
resetting the flag so that wxEVT_IDLE will cause us to try again later, when
the window hopefully has gone into the foreground and is ready to be used.
When determining whether or not we need to update the object list, we check
all of the objects that are being deleted to see if they're a wipe tower.
Unfortunately, by the time we check, the objects have already been deleted,
and the memory has been freed! Avoid this by writing down for deleted
objects whether they are wipe towers, and if they were, we can indeed skip
updating the object list.
In generate_contact_points, the rotated_dims don't actually generate a
Point, but generate an abstract expression that holds a reference to
bounding_box_size. Unfortunately, this goes wrong because bounding_box_size
ages out instantly; GCC's Address Sanitizer complains that this is a
"stack-use-after-scope" issue.
Interestingly, the Eigen documentation says that this is a known problem
with using C++11 "auto" to generate matrices (which a Point is)! It is
buried here: https://eigen.tuxfamily.org/dox/TopicPitfalls.html
This is probably an extremely theoretical correctness improvement, and also
an extremely theoretical performance improvement. But it is an improvement
nonetheless, and, more importantly, it enables me to continue to run the
slicer with Address Sanitizer turned on to find other potential issues.
ImGuiWrapper::load_svg previously could load an image that was not of the
aspect ratio specified by the target_width and target_height, and as a
result, could create an output vector that was smaller (or differently
shaped!) than the target_width and target_height. GCC's Address Sanitizer
flagged this because init_font was reading over the end of the allocated
buffer, but this also meant that images with incorrect aspect ratios might
get rendered to the font canvas incorrectly.
To solve this, we pass the generated width and height out from load_svg, and
use it when copying images later.
1 extrude move to dustbin
2 max vol of TPU 95A of X1 to 3.6
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I0b9d2a1db9c57c58255f95aad8a77772317a3ec9
previous commit only fix the crash when switch spiral_mode
and will cause crash when switch timelapse_mode
Change-Id: If21acf3701e9519de55a08e183620678378f61b9
This is fix for jira 2061
Layer height is double and may has small difference, which
influence total layer number when support is enabled.
Should use int data and consider EPSION when calculate total
layer number.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I1bb6c89f2afd162d2d7e7dcff4a9d6a00b94dab3
fix enable status of confirm btn in ams settings dlg
Change-Id: I25c11078bb723647fac6370f966c74c807362e21
Signed-off-by: Stone Li <stone.li@bambulab.com>
For pa-cf, the default setting of cooling is
forcing cooling for all outer wall.
And internal tester found that the slowing down by
layer time does not work for outer wall under
this situation.
This is fix for this issue.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I05aaa16d246f5ea6dc1ae9808050e1281646e184
(cherry picked from commit c6b8f9b1570746ae8eaa9efdddb550b46d98264c)