FIX: avoid arrange to outer when quick click autoarrangement in plate.
Change-Id: Ic8fa2f605094c7a3b7fa5a6fe36c5159678c50fd STUDIO-2202 (cherry picked from commit 641c18c25f5f297234059d463ac12220c4b6fa9f) Change-Id: Ic452f2fa4357fcacf71f6a70df2c514d2628b217
This commit is contained in:
parent
4c93d6e59d
commit
3448b7a053
|
@ -750,6 +750,7 @@ void ArrangeJob::finalize() {
|
||||||
m_plater->update();
|
m_plater->update();
|
||||||
|
|
||||||
Job::finalize();
|
Job::finalize();
|
||||||
|
m_plater->m_arrange_running.store(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<arrangement::ArrangePolygon>
|
std::optional<arrangement::ArrangePolygon>
|
||||||
|
|
|
@ -11098,8 +11098,10 @@ int Plater::select_plate_by_hover_id(int hover_id, bool right_click)
|
||||||
ret = select_plate(plate_index);
|
ret = select_plate(plate_index);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
set_prepare_state(Job::PREPARE_STATE_MENU);
|
if (last_arrange_job_is_finished()) {
|
||||||
arrange();
|
set_prepare_state(Job::PREPARE_STATE_MENU);
|
||||||
|
arrange();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -678,6 +678,13 @@ public:
|
||||||
|
|
||||||
std::string get_preview_only_filename() { return m_preview_only_filename; };
|
std::string get_preview_only_filename() { return m_preview_only_filename; };
|
||||||
|
|
||||||
|
bool last_arrange_job_is_finished()
|
||||||
|
{
|
||||||
|
bool prevRunning = false;
|
||||||
|
return m_arrange_running.compare_exchange_strong(prevRunning, true);
|
||||||
|
};
|
||||||
|
std::atomic<bool> m_arrange_running{false};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct priv;
|
struct priv;
|
||||||
std::unique_ptr<priv> p;
|
std::unique_ptr<priv> p;
|
||||||
|
|
Loading…
Reference in New Issue