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();
|
||||
|
||||
Job::finalize();
|
||||
m_plater->m_arrange_running.store(false);
|
||||
}
|
||||
|
||||
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);
|
||||
if (!ret)
|
||||
{
|
||||
set_prepare_state(Job::PREPARE_STATE_MENU);
|
||||
arrange();
|
||||
if (last_arrange_job_is_finished()) {
|
||||
set_prepare_state(Job::PREPARE_STATE_MENU);
|
||||
arrange();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -678,6 +678,13 @@ public:
|
|||
|
||||
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:
|
||||
struct priv;
|
||||
std::unique_ptr<priv> p;
|
||||
|
|
Loading…
Reference in New Issue